1*c00727abSdan# 2021 May 24 2*c00727abSdan# 3*c00727abSdan# The author disclaims copyright to this source code. In place of 4*c00727abSdan# a legal notice, here is a blessing: 5*c00727abSdan# 6*c00727abSdan# May you do good and not evil. 7*c00727abSdan# May you find forgiveness for yourself and forgive others. 8*c00727abSdan# May you share freely, never taking more than you give. 9*c00727abSdan# 10*c00727abSdan#*********************************************************************** 11*c00727abSdan# Tests focused on the in-memory journal. 12*c00727abSdan# 13*c00727abSdan 14*c00727abSdanset testdir [file dirname $argv0] 15*c00727abSdansource $testdir/tester.tcl 16*c00727abSdansource $testdir/malloc_common.tcl 17*c00727abSdanset testprefix memjournal 18*c00727abSdan 19*c00727abSdan 20*c00727abSdando_execsql_test 1.0 { 21*c00727abSdan PRAGMA journal_mode = memory; 22*c00727abSdan CREATE TABLE t1(a); 23*c00727abSdan} {memory} 24*c00727abSdan 25*c00727abSdanset nRow [expr 1] 26*c00727abSdan 27*c00727abSdando_execsql_test 1.1 { 28*c00727abSdan BEGIN; 29*c00727abSdan INSERT INTO t1 VALUES( randomblob(500) ); 30*c00727abSdan} {} 31*c00727abSdan 32*c00727abSdando_test 1.2 { 33*c00727abSdan for {set i 1} {$i <= 500} {incr i} { 34*c00727abSdan execsql { 35*c00727abSdan SAVEPOINT one; 36*c00727abSdan UPDATE t1 SET a=randomblob(500); 37*c00727abSdan } 38*c00727abSdan execsql { SAVEPOINT abc } 39*c00727abSdan execsql { UPDATE t1 SET a=randomblob(500) WHERE rowid<=$i AND 0 } 40*c00727abSdan execsql { RELEASE abc } 41*c00727abSdan } 42*c00727abSdan} {} 43*c00727abSdan 44*c00727abSdando_execsql_test 1.3 { 45*c00727abSdan COMMIT; 46*c00727abSdan} 47*c00727abSdan 48*c00727abSdanfinish_test 49