Reproduced on Windows, SQLite 3.7.8. F.
On Thu, Oct 13, 2011 at 5:45 PM, Wendland, Michael <michael.wendl...@hp.com> wrote: > Hello, > > I've encountered an error running 3.7.8 and 3.7.7.1 that seems rather > strange. It's reproducible so far as I know. > > CREATE VIRTUAL TABLE fts USING fts3( tags TEXT); > INSERT INTO fts (tags) VALUES ('tag1'); > SELECT * FROM fts WHERE tags MATCH 'tag1'; > > You can run an UPDATE to change the value in the tags field and rerun that > SELECT statement without error. Do not create a second row, as this error > seems to appear only when there is a single row in the virtual table. Now > close the database and reopen it, then try the following statements. > > UPDATE fts SET tags = 'tag1' WHERE rowid = 1; > SELECT * FROM fts WHERE tags MATCH 'tag1'; > > That SELECT returns "Error: database disk image is malformed". Taking a dump > before and after the UPDATE shows that a segdir entry is being assigned a > different value despite the tags entry remaining exactly the same. Changing > the value further does not rectify the situation, nor does using a different > string. Running a "PRAGMA integrity_check" returns "ok", so the underlying > database is fine (and you can use other tables and any rows you insert after > just fine). Inserting a new row and then changing the value rectifies the > problem. Tests seem to indicate that it doesn't matter what the rowid is (or > the sequence of inserts and deletes have been run on the virtual table > beforehand), the problem appears when changing the only row in the virtual > table. > > I've reproduced this using a CLI compiled from the autoconf source > amalgamation on RHEL 5.5 (in a VM) and the precompiled Windows CLI. > > Is anyone able to help? (I haven't accidentally posted this to the wrong > list have I?) > > - Michael > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users