14df68e0aSdan# 2014 August 16 24df68e0aSdan# 34df68e0aSdan# The author disclaims copyright to this source code. In place of 44df68e0aSdan# a legal notice, here is a blessing: 54df68e0aSdan# 64df68e0aSdan# May you do good and not evil. 74df68e0aSdan# May you find forgiveness for yourself and forgive others. 84df68e0aSdan# May you share freely, never taking more than you give. 94df68e0aSdan# 104df68e0aSdan#*********************************************************************** 114df68e0aSdan# 124df68e0aSdan# This file implements regression tests for sessions SQLite extension. 134df68e0aSdan# Specifically, this file contains tests for "patchset" changes. 144df68e0aSdan# 154df68e0aSdan 164df68e0aSdanif {![info exists testdir]} { 174df68e0aSdan set testdir [file join [file dirname [info script]] .. .. test] 184df68e0aSdan} 194df68e0aSdansource [file join [file dirname [info script]] session_common.tcl] 204df68e0aSdansource $testdir/tester.tcl 214df68e0aSdanifcapable !session {finish_test; return} 224df68e0aSdan 23137b8ebbSdanif {[permutation]=="session_strm" || [permutation]=="session_eec"} { 24137b8ebbSdan finish_test 25137b8ebbSdan return 26137b8ebbSdan} 27137b8ebbSdan 28*7379b455Sdanif {$::tcl_platform(pointerSize)<8} { 29*7379b455Sdan finish_test 30*7379b455Sdan return 31*7379b455Sdan} 32*7379b455Sdan 334df68e0aSdanset testprefix sessionbig 344df68e0aSdan 354df68e0aSdanforcedelete test.db2 364df68e0aSdansqlite3 db2 test.db2 374df68e0aSdan 384df68e0aSdando_execsql_test 1.0 { 394df68e0aSdan CREATE TABLE t1(a INTEGER PRIMARY KEY, b); 404df68e0aSdan} 414df68e0aSdando_execsql_test -db db2 1.1 { 424df68e0aSdan CREATE TABLE t1(a INTEGER PRIMARY KEY, b); 434df68e0aSdan} 444df68e0aSdan 454df68e0aSdando_test 1.2 { 464df68e0aSdan do_then_apply_sql { 474df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 484df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 494df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 504df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 514df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 524df68e0aSdan 534df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 544df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 554df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 564df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 574df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 584df68e0aSdan 594df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 604df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 614df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 624df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 634df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 644df68e0aSdan } 654df68e0aSdan} {} 664df68e0aSdan 674df68e0aSdando_test 1.3 { 684df68e0aSdan execsql { DELETE FROM t1 } 694df68e0aSdan execsql2 { DELETE FROM t1 } 704df68e0aSdan} {} 714df68e0aSdan 724df68e0aSdando_test 1.4 { 734df68e0aSdan set rc [catch { 744df68e0aSdan do_then_apply_sql { 754df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 764df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 774df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 784df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 794df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 804df68e0aSdan 814df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 824df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 834df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 844df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 854df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 864df68e0aSdan 874df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 884df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 894df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 904df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 914df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 924df68e0aSdan 934df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 944df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 954df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 964df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 974df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 984df68e0aSdan 994df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 1004df68e0aSdan INSERT INTO t1(b) VALUES( zeroblob(100*1000*1000) ); 1014df68e0aSdan } 1024df68e0aSdan } msg] 1034df68e0aSdan list $rc $msg 1044df68e0aSdan} {1 SQLITE_NOMEM} 1054df68e0aSdan 1064df68e0aSdan 1074df68e0aSdanfinish_test 1084df68e0aSdan 109