On Dec 9, 2015 8:06 AM, "Richard Hipp" <drh at sqlite.org> wrote: > > On 12/9/15, David Baird <dhbaird at gmail.com> wrote: > > > > Looks like it's fixed, as long as I stick to new versions. *cross fingers* > > Bisecting shows that the change in behavior occurred here: > https://www.sqlite.org/src/timeline?c=56bc5ce8 > > As others have a pointed out, though, the "desired" behavior is > "undocumented". SQLite nor any other SQL database engine is obligated > to provide the behavior you want. It happens as you like purely by > chance. Do not depend on this behavior since it might change at any > moment, without warning.
I tend to agree with this, that clients shouldn't depend on specific rowids being generated repeatably/deterministically. But that's not the concern I wanted to highlight. My cocnern is that: the database engine shouldn't needlessly waste/discard perectly good chunks of rowids: That is what's actually undesired. Aside from that, I agree that client shouldn't care what particular rowids were generated. If it started at 999999999 and counted down, I wouldn't care, as long ad it is making good (contiguous) allocation of the key space.