FileStorage: Fix bug retrieving the first record
The file pointer is positioned at the line of the previously retrieved record. When retrieving the next record, the current one is skipped to get to the next record. After opening the index file, the position is zero and retrieving the next record then skips over the first record. The fix adds a simple flag that handles this corner-case.
BTW, I was wondering why the code there was implemented in this particular way. I would have positioned the file pointer at the beginning of the next record, so that it can be fetched conveniently. Is it to recover from EOF after more data is added?
BTW2: I found this trying to write a few tests, see https://github.com/UlrichEckhardt/clockwork/tree/feat/phpunit-integration. The commit from this PR is also contained in that branch.
Hey, thanks for the PR! I want to think a bit about how to simplify this. Btw. I might be interested in upstreaming some of the tests at some point.
If you want, I can create a PR with an empty PHPUnit integration, if you'd like that detached from this one. Same goes for #671.