AryaWu/sqlite
0
1# 2010 October 292#3# The author disclaims copyright to this source code. In place of4# 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 13set testdir [file dirname $argv0]14source $testdir/tester.tcl15source $testdir/malloc_common.tcl16source $testdir/lock_common.tcl17 18 19do_multiclient_test tn {20 code1 { catch { sqlite3_multiplex_initialize "" 0 } }21 code2 { catch { sqlite3_multiplex_initialize "" 0 } }22 23 code1 { db close }24 code2 { db2 close }25 26 code1 { sqlite3 db test.db -vfs multiplex }27 code2 { sqlite3 db2 test.db -vfs multiplex }28 29 code1 { sqlite3_multiplex_control db main chunk_size [expr 1024*1024] }30 code2 { sqlite3_multiplex_control db2 main chunk_size [expr 1024*1024] }31 32 sql1 {33 CREATE TABLE t1(a, b);34 INSERT INTO t1 VALUES(randomblob(10), randomblob(4000)); -- 135 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 236 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 437 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 838 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 1639 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 3240 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 6441 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 12842 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 25643 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 51244 SELECT count(*) FROM t1;45 } 46 47 do_test multiplex-1.$tn.1 { sql1 { SELECT count(*) FROM t1 } } 51248 do_test multiplex-1.$tn.2 { sql2 { SELECT count(*) FROM t1 } } 51249 sql2 { DELETE FROM t1 ; VACUUM }50 do_test multiplex-1.$tn.3 { sql1 { SELECT count(*) FROM t1 } } 051 52 sql1 {53 INSERT INTO t1 VALUES(randomblob(10), randomblob(4000)); -- 154 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 255 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 456 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 857 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 1658 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 3259 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 6460 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 12861 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 25662 INSERT INTO t1 SELECT randomblob(10), randomblob(4000) FROM t1; -- 51263 SELECT count(*) FROM t1;64 }65 66 do_test multiplex-1.$tn.4 { sql2 { SELECT count(*) FROM t1 } } 51267}68 69catch { sqlite3_multiplex_shutdown }70finish_test71 