Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Ensure that multiple updates of the same FTS4 row (i.e. the row with the same rowid) within a single transaction are written to separate segments. Fix for [d6ec09ec]. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
d2a81a3752a8298ee65fddcf32dee214 |
User & Date: | dan 2018-02-13 16:21:32.960 |
Context
2018-02-13
| ||
16:30 | Remove an unused variable from FTS4. (check-in: 27ea783b28 user: drh tags: trunk) | |
16:21 | Ensure that multiple updates of the same FTS4 row (i.e. the row with the same rowid) within a single transaction are written to separate segments. Fix for [d6ec09ec]. (check-in: d2a81a3752 user: dan tags: trunk) | |
2018-02-12
| ||
20:50 | Updates to the speed-check.sh script for improvements to the --vdbeprofile option. (check-in: f89c8f8ecd user: drh tags: trunk) | |
Changes
Changes to ext/fts3/fts3_write.c.
︙ | ︙ | |||
5635 5636 5637 5638 5639 5640 5641 | int iLangid = sqlite3_value_int(apVal[2 + p->nColumn + 2]); if( bInsertDone==0 ){ rc = fts3InsertData(p, apVal, pRowid); if( rc==SQLITE_CONSTRAINT && p->zContentTbl==0 ){ rc = FTS_CORRUPT_VTAB; } } | | | 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 | int iLangid = sqlite3_value_int(apVal[2 + p->nColumn + 2]); if( bInsertDone==0 ){ rc = fts3InsertData(p, apVal, pRowid); if( rc==SQLITE_CONSTRAINT && p->zContentTbl==0 ){ rc = FTS_CORRUPT_VTAB; } } if( rc==SQLITE_OK ){ rc = fts3PendingTermsDocid(p, 0, iLangid, *pRowid); } if( rc==SQLITE_OK ){ assert( p->iPrevDocid==*pRowid ); rc = fts3InsertTerms(p, iLangid, apVal, aSzIns); } if( p->bHasDocsize ){ |
︙ | ︙ |
Changes to test/fts4onepass.test.
︙ | ︙ | |||
138 139 140 141 142 143 144 145 146 | do_execsql_test 3.$tn.$tn2.b { SELECT rowid, content FROM ft2 } $content do_execsql_test 3.$tn.$tn2.c { INSERT INTO ft2(ft2) VALUES('integrity-check'); } } eval $tcl2 } finish_test | > > > > > > > > > > > > > > | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | do_execsql_test 3.$tn.$tn2.b { SELECT rowid, content FROM ft2 } $content do_execsql_test 3.$tn.$tn2.c { INSERT INTO ft2(ft2) VALUES('integrity-check'); } } eval $tcl2 } do_execsql_test 4.0 { CREATE VIRTUAL TABLE zt USING fts4(a, b); INSERT INTO zt(rowid, a, b) VALUES(1, 'unus duo', NULL); INSERT INTO zt(rowid, a, b) VALUES(2, NULL, NULL); BEGIN; UPDATE zt SET b='septum' WHERE rowid = 1; UPDATE zt SET b='octo' WHERE rowid = 1; COMMIT; SELECT count(*) FROM zt_segdir; } {3} finish_test |