Fix a bug in the spellfix extension causing it to compute suboptimal answers.
[sqlite.git] / test / fts2m.test
blob6552637a62ce703fbd24ebe3593cec0fd5714dd4
1 # 2007 April 9
3 # The author disclaims copyright to this source code.
5 #*************************************************************************
6 # This file implements regression tests for SQLite library.  fts2
7 # DELETE handling assumed all fields were non-null.  This was not
8 # the intention at all.
10 # $Id: fts2m.test,v 1.1 2007/04/09 20:45:42 shess Exp $
13 set testdir [file dirname $argv0]
14 source $testdir/tester.tcl
16 # If SQLITE_ENABLE_FTS2 is defined, omit this file.
17 ifcapable !fts2 {
18   finish_test
19   return
22 db eval {
23   CREATE VIRTUAL TABLE t1 USING fts2(col_a, col_b);
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);
31 do_test fts2m-1.0 {
32   execsql {
33     SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1;
34   }
35 } {2 2 4}
37 do_test fts2m-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}
44 do_test fts2m-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}
51 do_test fts2m-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}
58 do_test fts2m-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}
65 finish_test