Snapshot of upstream SQLite 3.45.3
[sqlcipher.git] / ext / session / sessionbig.test
blob462e21f61fca5d043f1c449fcb247435abc9055d
1 # 2014 August 16
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 #***********************************************************************
12 # This file implements regression tests for sessions SQLite extension.
13 # Specifically, this file contains tests for "patchset" changes.
16 if {![info exists testdir]} {
17   set testdir [file join [file dirname [info script]] .. .. test]
18
19 source [file join [file dirname [info script]] session_common.tcl]
20 source $testdir/tester.tcl
21 ifcapable !session {finish_test; return}
23 if {[permutation]=="session_strm" || [permutation]=="session_eec"} {
24   finish_test
25   return
28 if {$::tcl_platform(pointerSize)<8} {
29   finish_test
30   return
33 set testprefix sessionbig
35 forcedelete test.db2
36 sqlite3 db2 test.db2
38 do_execsql_test 1.0 {
39   CREATE TABLE t1(a INTEGER PRIMARY KEY, b);
41 do_execsql_test -db db2 1.1 {
42   CREATE TABLE t1(a INTEGER PRIMARY KEY, b);
45 do_test 1.2 {
46   do_then_apply_sql -ignorenoop {
47     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
48     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
49     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
50     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
51     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
53     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
54     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
55     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
56     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
57     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
59     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
60     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
61     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
62     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
63     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
64   }
65 } {}
67 do_test 1.3 {
68   execsql { DELETE FROM t1 }
69   execsql2 { DELETE FROM t1 }
70 } {}
72 do_test 1.4 {
73   set rc [catch {
74   do_then_apply_sql -ignorenoop {
75     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
76     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
77     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
78     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
79     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
81     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
82     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
83     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
84     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
85     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
87     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
88     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
89     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
90     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
91     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
93     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
94     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
95     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
96     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
97     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
99     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
100     INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) );
101   }
102   } msg]
103   list $rc $msg
104 } {1 SQLITE_NOMEM}
107 finish_test