xref: /sqlite-3.40.0/test/fts3prefix2.test (revision 585db0e2)
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*585db0e2Sdan
63