Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Mark the table-named column HIDDEN. Add tests to make sure it's working as expected. (CVS 4425) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
ca669eaf1b4af441741129bee4af02f3 |
User & Date: | shess 2007-09-13 18:12:10.000 |
Context
2007-09-13
| ||
18:14 | Add an implicit (HIDDEN) docid column. This works as an alias to rowid, similar to how things work in SQLite tables with INTEGER PRIMARY KEY. Add tests to verify operation. (CVS 4426) (check-in: c8d2345200 user: shess tags: trunk) | |
18:12 | Mark the table-named column HIDDEN. Add tests to make sure it's working as expected. (CVS 4425) (check-in: ca669eaf1b user: shess tags: trunk) | |
17:54 | Fix incorrect index cost assumptions that occur after an ANALYZE. Ticket #2643. (CVS 4424) (check-in: 2cfdbfe654 user: drh tags: trunk) | |
Changes
Changes to ext/fts3/fts3.c.
︙ | ︙ | |||
2698 2699 2700 2701 2702 2703 2704 | zSchema = sqlite3_mprintf("CREATE TABLE x"); for(i=0; i<nColumn; i++){ zNext = sqlite3_mprintf("%s%s%Q", zSchema, zSep, azColumn[i]); sqlite3_free(zSchema); zSchema = zNext; zSep = ","; } | | | 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 | zSchema = sqlite3_mprintf("CREATE TABLE x"); for(i=0; i<nColumn; i++){ zNext = sqlite3_mprintf("%s%s%Q", zSchema, zSep, azColumn[i]); sqlite3_free(zSchema); zSchema = zNext; zSep = ","; } zNext = sqlite3_mprintf("%s,%Q HIDDEN)", zSchema, zTableName); sqlite3_free(zSchema); return zNext; } /* ** Build a new sqlite3_vtab structure that will describe the ** fulltext index defined by spec. |
︙ | ︙ |
Changes to test/fts3b.test.
1 2 3 4 5 6 7 8 9 10 11 12 13 | # 2007 August 20 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #************************************************************************* # This file implements regression tests for SQLite library. This # script tests for the fts2 rowid-versus-vacuum problem (ticket #2566). # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # 2007 August 20 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #************************************************************************* # This file implements regression tests for SQLite library. This # script tests for the fts2 rowid-versus-vacuum problem (ticket #2566). # # $Id: fts3b.test,v 1.2 2007/09/13 18:12:10 shess Exp $ # set testdir [file dirname $argv0] source $testdir/tester.tcl # If SQLITE_ENABLE_FTS3 is not defined, omit this file. ifcapable !fts3 { |
︙ | ︙ | |||
98 99 100 101 102 103 104 105 106 | # The VACUUM renumbered the t2_segment table in fts2, which would # break the following. do_test fts3b-2.2 { execsql { SELECT rowid FROM t2 WHERE c MATCH 'lorem'; } } $res finish_test | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | # The VACUUM renumbered the t2_segment table in fts2, which would # break the following. do_test fts3b-2.2 { execsql { SELECT rowid FROM t2 WHERE c MATCH 'lorem'; } } $res # Since fts3 is already an API break, I've marked the table-named # column HIDDEN. db eval { CREATE VIRTUAL TABLE t3 USING fts3(c); INSERT INTO t3 (c) VALUES('this is a test'); INSERT INTO t3 (c) VALUES('that was a test'); INSERT INTO t3 (c) VALUES('this is fun'); DELETE FROM t3 WHERE c = 'that was a test'; } # Test that the table-named column still works. do_test fts3b-3.1 { execsql { SELECT snippet(t3) FROM t3 WHERE t3 MATCH 'test'; } } {{this is a <b>test</b>}} # Test that the column doesn't appear when selecting all columns. do_test fts3b-3.2 { execsql { SELECT * FROM t3 WHERE rowid = 1; } } {{this is a test}} # Test that the column doesn't conflict with inserts that don't name # columns. do_test fts3b-3.3 { execsql { INSERT INTO t3 VALUES ('another test'); } } {} finish_test |