I'm getting a db error when trying to alter an fts table within a
transaction.

This only happens if the statement before the alter is an insert.

See below:

D:\temp>sqlite3  tmp.db
SQLite version 3.6.23.1
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table NonFts (docid integer, msg string);
sqlite> create virtual table Fts using fts3(msg);

sqlite> begin;
sqlite> insert into NonFts(docid,msg) values(1, "bob");
sqlite> alter table nonfts rename to nonfts2;
sqlite> commit; //OK

sqlite> begin;
sqlite> insert into fts(docid,msg) values(1,"bob");
sqlite> alter table fts rename to fts2;
sqlite> commit;
Error: SQL logic error or missing database
sqlite>

sqlite> begin;
sqlite> alter table fts rename to fts2;
sqlite> commit; //OK

Something I should be doing differently?

Thanks

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

Reply via email to