Snapshot of upstream SQLite 3.46.1
[sqlcipher.git] / ext / fts5 / test / fts5ai.test
blob20e10693988a31dc58655f8a31c507c3c94abe8d
1 # 2014 June 17
3 # The author disclaims copyright to this source code.  In place of
4 # a legal notice, here is a blessing:
6 #    May you do good and not evil.
7 #    May you find forgiveness for yourself and forgive others.
8 #    May you share freely, never taking more than you give.
10 #*************************************************************************
11 # This file implements regression tests for SQLite library.  The
12 # focus of this script is testing the FTS5 module.
14 # Specifically, it tests transactions and savepoints
17 source [file join [file dirname [info script]] fts5_common.tcl]
18 set testprefix fts5ai
20 # If SQLITE_ENABLE_FTS5 is defined, omit this file.
21 ifcapable !fts5 {
22   finish_test
23   return
26 foreach_detail_mode $testprefix {
28 do_execsql_test 1.0 {
29   CREATE VIRTUAL TABLE t1 USING fts5(a, detail=%DETAIL%);
30 } {}
32 do_execsql_test 1.1 {
33   BEGIN;
34     INSERT INTO t1 VALUES('a b c');
35     INSERT INTO t1 VALUES('d e f');
36     SAVEPOINT one;
37       INSERT INTO t1 VALUES('g h i');
38       SAVEPOINT two;
39         INSERT INTO t1 VALUES('j k l');
40     ROLLBACK TO one;
41       INSERT INTO t1 VALUES('m n o');
42         SAVEPOINT two;
43         INSERT INTO t1 VALUES('p q r');
44     RELEASE one;
45     SAVEPOINT one;
46       INSERT INTO t1 VALUES('s t u');
47     ROLLBACK TO one;
48   COMMIT;
51 do_execsql_test 1.2 {
52   INSERT INTO t1(t1) VALUES('integrity-check');
55 do_execsql_test 1.3 {
56   SAVEPOINT one;
57     INSERT INTO t1 VALUES('v w x');
58   ROLLBACK TO one;
63 finish_test