1*585db0e2Sdan# 2012 January 25 2*585db0e2Sdan# 3*585db0e2Sdan# The author disclaims copyright to this source code. In place of 4*585db0e2Sdan# a legal notice, here is a blessing: 5*585db0e2Sdan# 6*585db0e2Sdan# May you do good and not evil. 7*585db0e2Sdan# May you find forgiveness for yourself and forgive others. 8*585db0e2Sdan# May you share freely, never taking more than you give. 9*585db0e2Sdan# 10*585db0e2Sdan#************************************************************************* 11*585db0e2Sdan# This file implements regression tests for SQLite library. The 12*585db0e2Sdan# focus of this script is testing the FTS3 module. 13*585db0e2Sdan# 14*585db0e2Sdan 15*585db0e2Sdanset testdir [file dirname $argv0] 16*585db0e2Sdansource $testdir/tester.tcl 17*585db0e2Sdanset testprefix fts3prefix2 18*585db0e2Sdan 19*585db0e2Sdanifcapable !fts3 { 20*585db0e2Sdan finish_test 21*585db0e2Sdan return 22*585db0e2Sdan} 23*585db0e2Sdan 24*585db0e2Sdando_execsql_test 1.0 { PRAGMA page_size = 512 } 25*585db0e2Sdando_execsql_test 1.1 { 26*585db0e2Sdan CREATE VIRTUAL TABLE t1 USING fts4(x, prefix="2,3"); 27*585db0e2Sdan 28*585db0e2Sdan BEGIN; 29*585db0e2Sdan INSERT INTO t1 VALUES('T TX T TX T TX T TX T TX'); 30*585db0e2Sdan INSERT INTO t1 SELECT * FROM t1; -- 2 31*585db0e2Sdan INSERT INTO t1 SELECT * FROM t1; -- 4 32*585db0e2Sdan INSERT INTO t1 SELECT * FROM t1; -- 8 33*585db0e2Sdan INSERT INTO t1 SELECT * FROM t1; -- 16 34*585db0e2Sdan INSERT INTO t1 SELECT * FROM t1; -- 32 35*585db0e2Sdan INSERT INTO t1 SELECT * FROM t1; -- 64 36*585db0e2Sdan INSERT INTO t1 SELECT * FROM t1; -- 128 37*585db0e2Sdan INSERT INTO t1 SELECT * FROM t1; -- 256 38*585db0e2Sdan INSERT INTO t1 SELECT * FROM t1; -- 512 39*585db0e2Sdan INSERT INTO t1 SELECT * FROM t1; -- 1024 40*585db0e2Sdan INSERT INTO t1 SELECT * FROM t1; -- 2048 41*585db0e2Sdan COMMIT; 42*585db0e2Sdan} 43*585db0e2Sdan 44*585db0e2Sdando_execsql_test 1.2 { 45*585db0e2Sdan INSERT INTO t1 SELECT * FROM t1 LIMIT 10; 46*585db0e2Sdan INSERT INTO t1 SELECT * FROM t1 LIMIT 10; 47*585db0e2Sdan INSERT INTO t1 SELECT * FROM t1 LIMIT 10; 48*585db0e2Sdan DELETE FROM t1 WHERE docid > 5; 49*585db0e2Sdan} 50*585db0e2Sdan 51*585db0e2Sdando_execsql_test 1.3 { 52*585db0e2Sdan SELECT * FROM t1 WHERE t1 MATCH 'T*'; 53*585db0e2Sdan} { 54*585db0e2Sdan {T TX T TX T TX T TX T TX} 55*585db0e2Sdan {T TX T TX T TX T TX T TX} 56*585db0e2Sdan {T TX T TX T TX T TX T TX} 57*585db0e2Sdan {T TX T TX T TX T TX T TX} 58*585db0e2Sdan {T TX T TX T TX T TX T TX} 59*585db0e2Sdan} 60*585db0e2Sdan 61*585db0e2Sdanfinish_test 62