clockwork icon indicating copy to clipboard operation
clockwork copied to clipboard

FileStorage: Fix bug retrieving the first record

Open UlrichEckhardt opened this issue 1 year ago • 2 comments

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.

UlrichEckhardt avatar Jan 23 '24 21:01 UlrichEckhardt

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.

itsgoingd avatar Feb 01 '24 21:02 itsgoingd

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.

UlrichEckhardt avatar Feb 02 '24 16:02 UlrichEckhardt