OLD | NEW |
(Empty) | |
| 1 # 2007 April 9 |
| 2 # |
| 3 # The author disclaims copyright to this source code. |
| 4 # |
| 5 #************************************************************************* |
| 6 # This file implements regression tests for SQLite library. fts1 |
| 7 # DELETE handling assumed all fields were non-null. This was not |
| 8 # the intention at all. |
| 9 # |
| 10 # $Id: fts1l.test,v 1.1 2007/04/09 20:45:42 shess Exp $ |
| 11 # |
| 12 |
| 13 set testdir [file dirname $argv0] |
| 14 source $testdir/tester.tcl |
| 15 |
| 16 # If SQLITE_ENABLE_FTS1 is defined, omit this file. |
| 17 ifcapable !fts1 { |
| 18 finish_test |
| 19 return |
| 20 } |
| 21 |
| 22 db eval { |
| 23 CREATE VIRTUAL TABLE t1 USING fts1(col_a, col_b); |
| 24 |
| 25 INSERT INTO t1(rowid, col_a, col_b) VALUES(1, 'testing', 'testing'); |
| 26 INSERT INTO t1(rowid, col_a, col_b) VALUES(2, 'only a', null); |
| 27 INSERT INTO t1(rowid, col_a, col_b) VALUES(3, null, 'only b'); |
| 28 INSERT INTO t1(rowid, col_a, col_b) VALUES(4, null, null); |
| 29 } |
| 30 |
| 31 do_test fts1m-1.0 { |
| 32 execsql { |
| 33 SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1; |
| 34 } |
| 35 } {2 2 4} |
| 36 |
| 37 do_test fts1m-1.1 { |
| 38 execsql { |
| 39 DELETE FROM t1 WHERE rowid = 1; |
| 40 SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1; |
| 41 } |
| 42 } {1 1 3} |
| 43 |
| 44 do_test fts1m-1.2 { |
| 45 execsql { |
| 46 DELETE FROM t1 WHERE rowid = 2; |
| 47 SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1; |
| 48 } |
| 49 } {0 1 2} |
| 50 |
| 51 do_test fts1m-1.3 { |
| 52 execsql { |
| 53 DELETE FROM t1 WHERE rowid = 3; |
| 54 SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1; |
| 55 } |
| 56 } {0 0 1} |
| 57 |
| 58 do_test fts1m-1.4 { |
| 59 execsql { |
| 60 DELETE FROM t1 WHERE rowid = 4; |
| 61 SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1; |
| 62 } |
| 63 } {0 0 0} |
| 64 |
| 65 finish_test |
OLD | NEW |