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