1# 2014 August 16 2# 3# The author disclaims copyright to this source code. In place of 4# a legal notice, here is a blessing: 5# 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. 9# 10#*********************************************************************** 11# 12# This file implements regression tests for sessions SQLite extension. 13# Specifically, this file contains tests for "patchset" changes. 14# 15 16if {![info exists testdir]} { 17 set testdir [file join [file dirname [info script]] .. .. test] 18} 19source [file join [file dirname [info script]] session_common.tcl] 20source $testdir/tester.tcl 21ifcapable !session {finish_test; return} 22 23if {[permutation]=="session_strm" || [permutation]=="session_eec"} { 24 finish_test 25 return 26} 27 28if {$::tcl_platform(pointerSize)<8} { 29 finish_test 30 return 31} 32 33set testprefix sessionbig 34 35forcedelete test.db2 36sqlite3 db2 test.db2 37 38do_execsql_test 1.0 { 39 CREATE TABLE t1(a INTEGER PRIMARY KEY, b); 40} 41do_execsql_test -db db2 1.1 { 42 CREATE TABLE t1(a INTEGER PRIMARY KEY, b); 43} 44 45do_test 1.2 { 46 do_then_apply_sql { 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) ); 52 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) ); 58 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} {} 66 67do_test 1.3 { 68 execsql { DELETE FROM t1 } 69 execsql2 { DELETE FROM t1 } 70} {} 71 72do_test 1.4 { 73 set rc [catch { 74 do_then_apply_sql { 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) ); 80 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) ); 86 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) ); 92 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) ); 98 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} 105 106 107finish_test 108 109