sl@0: # 2007 April 9 sl@0: # sl@0: # The author disclaims copyright to this source code. sl@0: # sl@0: #************************************************************************* sl@0: # This file implements regression tests for SQLite library. fts2 sl@0: # DELETE handling assumed all fields were non-null. This was not sl@0: # the intention at all. sl@0: # sl@0: # $Id: fts2m.test,v 1.1 2007/04/09 20:45:42 shess Exp $ sl@0: # sl@0: sl@0: set testdir [file dirname $argv0] sl@0: source $testdir/tester.tcl sl@0: sl@0: # If SQLITE_ENABLE_FTS2 is defined, omit this file. sl@0: ifcapable !fts2 { sl@0: finish_test sl@0: return sl@0: } sl@0: sl@0: db eval { sl@0: CREATE VIRTUAL TABLE t1 USING fts2(col_a, col_b); sl@0: sl@0: INSERT INTO t1(rowid, col_a, col_b) VALUES(1, 'testing', 'testing'); sl@0: INSERT INTO t1(rowid, col_a, col_b) VALUES(2, 'only a', null); sl@0: INSERT INTO t1(rowid, col_a, col_b) VALUES(3, null, 'only b'); sl@0: INSERT INTO t1(rowid, col_a, col_b) VALUES(4, null, null); sl@0: } sl@0: sl@0: do_test fts2m-1.0 { sl@0: execsql { sl@0: SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1; sl@0: } sl@0: } {2 2 4} sl@0: sl@0: do_test fts2m-1.1 { sl@0: execsql { sl@0: DELETE FROM t1 WHERE rowid = 1; sl@0: SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1; sl@0: } sl@0: } {1 1 3} sl@0: sl@0: do_test fts2m-1.2 { sl@0: execsql { sl@0: DELETE FROM t1 WHERE rowid = 2; sl@0: SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1; sl@0: } sl@0: } {0 1 2} sl@0: sl@0: do_test fts2m-1.3 { sl@0: execsql { sl@0: DELETE FROM t1 WHERE rowid = 3; sl@0: SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1; sl@0: } sl@0: } {0 0 1} sl@0: sl@0: do_test fts2m-1.4 { sl@0: execsql { sl@0: DELETE FROM t1 WHERE rowid = 4; sl@0: SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1; sl@0: } sl@0: } {0 0 0} sl@0: sl@0: finish_test