Ticket Hash: | 9fd058691b566188071be12f6983ec40d509d188 | ||
Title: | Problem with updating an FTS table that contains a single row | ||
Status: | Closed | Type: | Code_Defect |
Severity: | Critical | Priority: | Immediate |
Subsystem: | Extensions | Resolution: | Fixed |
Last Modified: |
2011-10-13 17:34:50 13.72 years ago |
Created: |
2011-10-13 17:06:58 13.72 years ago |
Version Found In: | 3.7.7 through 3.7.8 |
Description: | ||||
If the only row in an FTS table is updated and the rowid/docid value is not changed, then the FTS index may become corrupt.
For example: $ ./sqlite3 x SQLite version 3.7.9 2011-10-13 16:36:29 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> CREATE VIRTUAL TABLE t USING fts3; sqlite> INSERT INTO t VALUES('xxx'); sqlite> .quitThen: $ ./sqlite3 x SQLite version 3.7.9 2011-10-13 16:36:29 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> UPDATE t SET content = 'yyy'; sqlite> SELECT * FROM t WHERE t MATCH 'yyy'; Error: database disk image is malformed dan added on 2011-10-13 17:33:07: dan added on 2011-10-13 17:34:50: |