Originally posted by Liviu Carausu:
That means that you are either ignoring the requirement "possibly reusing a deleted entry" (You are right, it is not a "must"
), or you are compacting somehow the database at startup . Am I right ?
Yes, I am ignoring this.
I found that it makes the code quite a bit more complicated, and file size is normally not a problem on modern computers, especially not with this database type.
There is also a requirement to keep the code as simple and understandable as reasonably possible, and I chose to give more importance to this requirement then to the "possibly reusing deleted records" requirements.