You can, and I'm working on a patch to do this to see how it might look.

There's the question of how to handle existing tables.

-scott


On 7/17/07, Chris Wedgwood <[EMAIL PROTECTED]> wrote:
On Tue, Jul 17, 2007 at 09:37:43AM -0700, Scott Hess wrote:

> Summary: In sqlite 3.4, running vacuum with fts2 or fts1 tables can
> break the table if you've done any deletions.

Can you not not have the fts[12] code explicitly mark the rowid
columns as integer primary key in the schema?  Then vacuum will leave
them alone.

  sqlite> create table t2 ( oid integer primary key, c1 text );
  sqlite> insert into t2(c1) values ('one');
  sqlite> insert into t2(c1) values ('two');
  sqlite> select oid,c1 from t2;
  1|one
  2|two
  sqlite> delete from t2 where oid=1;
  sqlite> vacuum;
  sqlite> select oid,c1 from t2;
  2|two

I opened a bug about this subtle difference a while ago (I think it's
fine, it should just be documented).


-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to