On Thu, Aug 11, 2011 at 11:15 PM, Simon Slavin <slav...@bigfraud.org> wrote:
>
> On 11 Aug 2011, at 6:35pm, Abhinav Upadhyay wrote:
>
>> The documentation page of the VACUUM command says that "The VACUUM
>> command may change the ROWIDs of entries in any tables that do not
>> have an explicit INTEGER PRIMARY KEY." So what are the possible cases
>> in which the ROWIDs might change ?
>
> Not documented.  So even if someone told you what they were in this version 
> of SQLite, there might be other reasons in the next version.  Theoretically 
> it might renumber rows to close up gaps in the AUTOINCREMENT.
That makes sense.

> As it says, to stop it all you need to do is declare one of the columns as 
> INTEGER PRIMARY KEY.  Once you do that it assumes that you might be referring 
> to those values elsewhere and won't change them.
Indeed, I am using the ROWID as a reference in another table. Actually
I have an FTS table and I don't really want to create an explicit
column for storing  the IDs, as I am afraid that matches from the ID
column could affect the quality of search results.
But if this is the only option, then I guess I need to give it a try.
I might give this column a weight of 0.0 so that it doesn't create
noise in the search results.

Thanks
Abhinav
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to