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 23set testprefix sessionbig 24 25forcedelete test.db2 26sqlite3 db2 test.db2 27 28do_execsql_test 1.0 { 29 CREATE TABLE t1(a INTEGER PRIMARY KEY, b); 30} 31do_execsql_test -db db2 1.1 { 32 CREATE TABLE t1(a INTEGER PRIMARY KEY, b); 33} 34 35do_test 1.2 { 36 do_then_apply_sql { 37 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 38 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 39 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 40 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 41 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 42 43 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 44 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 45 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 46 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 47 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 48 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 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 53 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 54 } 55} {} 56 57do_test 1.3 { 58 execsql { DELETE FROM t1 } 59 execsql2 { DELETE FROM t1 } 60} {} 61 62do_test 1.4 { 63 set rc [catch { 64 do_then_apply_sql { 65 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 66 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 67 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 68 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 69 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 70 71 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 72 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 73 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 74 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 75 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 76 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 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 81 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 82 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 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 87 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 88 89 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 90 INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 91 } 92 } msg] 93 list $rc $msg 94} {1 SQLITE_NOMEM} 95 96 97finish_test 98 99