I've updated the bug with an example of how this breaks fts tables
(fts1 or fts2). I'm thinking on the problem.
http://www.sqlite.org/cvstrac/tktview?tn=2510
Summary: In sqlite 3.4, running vacuum with fts2 or fts1 tables can
break the table if you've done any deletions.
I'll try to add more constraints to the summary today,
-scott
On 7/17/07, Scott Hess <[EMAIL PROTECTED]> wrote:
WTH! Wow, this is a very unexpected change. I must have not been
paying attention at some point.
-scott
On 7/17/07, Ralf Junker <[EMAIL PROTECTED]> wrote:
>
> >>The standard way to have non-TEXT information associated with rows in
> >>an fts table would be a separate table which joins with the fts table
> >>on rowid.
> >
> >I have not tested this, but if the FTS2 rowid is the standard SQLite rowid,
I believe that it will be affected by VACUUM change of rowids recently reported on
this list? If so, could this be fixed?
>
> VACUUM does modify FTS2 rowids. Here is the test:
>
> drop table if exists a;
>
> create virtual table a using fts2 (t);
>
> insert into a (t) values ('one');
> insert into a (t) values ('two');
> insert into a (t) values ('three');
>
> select rowid, * from a;
>
> delete from a where t = 'two';
> vacuum;
>
> select rowid, * from a;
>
> Unfortunately there is no workaround since table a is auto-generated by the
FTS2 module. Created ticket #2510.
>
>
> -----------------------------------------------------------------------------
> To unsubscribe, send email to [EMAIL PROTECTED]
> -----------------------------------------------------------------------------
>
>
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------