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