diff options
author | Jan Mercl <0xjnml@gmail.com> | 2019-12-18 17:51:11 +0100 |
---|---|---|
committer | Jan Mercl <0xjnml@gmail.com> | 2019-12-18 17:51:11 +0100 |
commit | 0bd6d67fefae8bb593662c01bd539776019681a8 (patch) | |
tree | 12124ac1d27826cea1c39f115f2c24a835deadb3 /testdata | |
parent | 8afe3d5bd9a307c22902c09273e89729cf4469ce (diff) |
prepare pre-alpha release
Diffstat (limited to 'testdata')
-rw-r--r-- | testdata/.gitignore | 1 | ||||
-rw-r--r-- | testdata/mptest/config01.test | 46 | ||||
-rw-r--r-- | testdata/mptest/config02.test | 123 | ||||
-rw-r--r-- | testdata/mptest/crash01.test | 106 | ||||
-rw-r--r-- | testdata/mptest/crash02.subtest | 53 | ||||
-rw-r--r-- | testdata/mptest/multiwrite01.test | 415 |
6 files changed, 1 insertions, 743 deletions
diff --git a/testdata/.gitignore b/testdata/.gitignore new file mode 100644 index 0000000..9ca787c --- /dev/null +++ b/testdata/.gitignore @@ -0,0 +1 @@ +sqlite-amalgamation-* diff --git a/testdata/mptest/config01.test b/testdata/mptest/config01.test deleted file mode 100644 index 683ee91..0000000 --- a/testdata/mptest/config01.test +++ /dev/null @@ -1,46 +0,0 @@ -/* -** Configure five tasks in different ways, then run tests. -*/ ---if vfsname() GLOB 'unix' -PRAGMA page_size=8192; ---task 1 - PRAGMA journal_mode=PERSIST; - PRAGMA mmap_size=0; ---end ---task 2 - PRAGMA journal_mode=TRUNCATE; - PRAGMA mmap_size=28672; ---end ---task 3 - PRAGMA journal_mode=MEMORY; ---end ---task 4 - PRAGMA journal_mode=OFF; ---end ---task 4 - PRAGMA mmap_size(268435456); ---end ---source multiwrite01.test ---wait all -PRAGMA page_size=16384; -VACUUM; -CREATE TABLE pgsz(taskid, sz INTEGER); ---task 1 - INSERT INTO pgsz VALUES(1, eval('PRAGMA page_size')); ---end ---task 2 - INSERT INTO pgsz VALUES(2, eval('PRAGMA page_size')); ---end ---task 3 - INSERT INTO pgsz VALUES(3, eval('PRAGMA page_size')); ---end ---task 4 - INSERT INTO pgsz VALUES(4, eval('PRAGMA page_size')); ---end ---task 5 - INSERT INTO pgsz VALUES(5, eval('PRAGMA page_size')); ---end ---source multiwrite01.test ---wait all -SELECT sz FROM pgsz; ---match 16384 16384 16384 16384 16384 diff --git a/testdata/mptest/config02.test b/testdata/mptest/config02.test deleted file mode 100644 index 7d4b278..0000000 --- a/testdata/mptest/config02.test +++ /dev/null @@ -1,123 +0,0 @@ -/* -** Configure five tasks in different ways, then run tests. -*/ -PRAGMA page_size=512; ---task 1 - PRAGMA mmap_size=0; ---end ---task 2 - PRAGMA mmap_size=28672; ---end ---task 3 - PRAGMA mmap_size=8192; ---end ---task 4 - PRAGMA mmap_size=65536; ---end ---task 5 - PRAGMA mmap_size=268435456; ---end ---source multiwrite01.test ---source crash02.subtest -PRAGMA page_size=1024; -VACUUM; -CREATE TABLE pgsz(taskid, sz INTEGER); ---task 1 - INSERT INTO pgsz VALUES(1, eval('PRAGMA page_size')); ---end ---task 2 - INSERT INTO pgsz VALUES(2, eval('PRAGMA page_size')); ---end ---task 3 - INSERT INTO pgsz VALUES(3, eval('PRAGMA page_size')); ---end ---task 4 - INSERT INTO pgsz VALUES(4, eval('PRAGMA page_size')); ---end ---task 5 - INSERT INTO pgsz VALUES(5, eval('PRAGMA page_size')); ---end ---source multiwrite01.test ---source crash02.subtest ---wait all -SELECT sz FROM pgsz; ---match 1024 1024 1024 1024 1024 -PRAGMA page_size=2048; -VACUUM; -DELETE FROM pgsz; ---task 1 - INSERT INTO pgsz VALUES(1, eval('PRAGMA page_size')); ---end ---task 2 - INSERT INTO pgsz VALUES(2, eval('PRAGMA page_size')); ---end ---task 3 - INSERT INTO pgsz VALUES(3, eval('PRAGMA page_size')); ---end ---task 4 - INSERT INTO pgsz VALUES(4, eval('PRAGMA page_size')); ---end ---task 5 - INSERT INTO pgsz VALUES(5, eval('PRAGMA page_size')); ---end ---source multiwrite01.test ---source crash02.subtest ---wait all -SELECT sz FROM pgsz; ---match 2048 2048 2048 2048 2048 -PRAGMA page_size=8192; -VACUUM; -DELETE FROM pgsz; ---task 1 - INSERT INTO pgsz VALUES(1, eval('PRAGMA page_size')); ---end ---task 2 - INSERT INTO pgsz VALUES(2, eval('PRAGMA page_size')); ---end ---task 3 - INSERT INTO pgsz VALUES(3, eval('PRAGMA page_size')); ---end ---task 4 - INSERT INTO pgsz VALUES(4, eval('PRAGMA page_size')); ---end ---task 5 - INSERT INTO pgsz VALUES(5, eval('PRAGMA page_size')); ---end ---source multiwrite01.test ---source crash02.subtest ---wait all -SELECT sz FROM pgsz; ---match 8192 8192 8192 8192 8192 -PRAGMA page_size=16384; -VACUUM; -DELETE FROM pgsz; ---task 1 - INSERT INTO pgsz VALUES(1, eval('PRAGMA page_size')); ---end ---task 2 - INSERT INTO pgsz VALUES(2, eval('PRAGMA page_size')); ---end ---task 3 - INSERT INTO pgsz VALUES(3, eval('PRAGMA page_size')); ---end ---task 4 - INSERT INTO pgsz VALUES(4, eval('PRAGMA page_size')); ---end ---task 5 - INSERT INTO pgsz VALUES(5, eval('PRAGMA page_size')); ---end ---source multiwrite01.test ---source crash02.subtest ---wait all -SELECT sz FROM pgsz; ---match 16384 16384 16384 16384 16384 -PRAGMA auto_vacuum=FULL; -VACUUM; ---source multiwrite01.test ---source crash02.subtest ---wait all -PRAGMA auto_vacuum=FULL; -PRAGMA page_size=512; -VACUUM; ---source multiwrite01.test ---source crash02.subtest diff --git a/testdata/mptest/crash01.test b/testdata/mptest/crash01.test deleted file mode 100644 index f1483df..0000000 --- a/testdata/mptest/crash01.test +++ /dev/null @@ -1,106 +0,0 @@ -/* Test cases involving incomplete transactions that must be rolled back. -*/ ---task 1 - DROP TABLE IF EXISTS t1; - CREATE TABLE t1(a INTEGER PRIMARY KEY, b); - --sleep 1 - INSERT INTO t1 VALUES(1, randomblob(2000)); - INSERT INTO t1 VALUES(2, randomblob(1000)); - --sleep 1 - INSERT INTO t1 SELECT a+2, randomblob(1500) FROM t1; - INSERT INTO t1 SELECT a+4, randomblob(1500) FROM t1; - INSERT INTO t1 SELECT a+8, randomblob(1500) FROM t1; - --sleep 1 - INSERT INTO t1 SELECT a+16, randomblob(1500) FROM t1; - --sleep 1 - INSERT INTO t1 SELECT a+32, randomblob(1500) FROM t1; - SELECT count(*) FROM t1; - --match 64 - SELECT avg(length(b)) FROM t1; - --match 1500.0 - --sleep 2 - UPDATE t1 SET b='x'||a||'y'; - SELECT sum(length(b)) FROM t1; - --match 247 - SELECT a FROM t1 WHERE b='x17y'; - --match 17 - CREATE INDEX t1b ON t1(b); - SELECT a FROM t1 WHERE b='x17y'; - --match 17 - SELECT a FROM t1 WHERE b GLOB 'x2?y' ORDER BY b DESC LIMIT 5; - --match 29 28 27 26 25 ---end ---wait 1 ---task 2 - DROP TABLE IF EXISTS t2; - CREATE TABLE t2(a INTEGER PRIMARY KEY, b); - INSERT INTO t2 SELECT a, b FROM t1; - UPDATE t1 SET b='x'||a||'y'; - SELECT sum(length(b)) FROM t2; - --match 247 - SELECT a FROM t2 WHERE b='x17y'; - --match 17 - CREATE INDEX t2b ON t2(b); - SELECT a FROM t2 WHERE b='x17y'; - --match 17 - SELECT a FROM t2 WHERE b GLOB 'x2?y' ORDER BY b DESC LIMIT 5; - --match 29 28 27 26 25 ---end ---task 3 - DROP TABLE IF EXISTS t3; - CREATE TABLE t3(a INTEGER PRIMARY KEY, b); - INSERT INTO t3 SELECT a, b FROM t1; - UPDATE t1 SET b='x'||a||'y'; - SELECT sum(length(b)) FROM t3; - --match 247 - SELECT a FROM t3 WHERE b='x17y'; - --match 17 - CREATE INDEX t3b ON t3(b); - SELECT a FROM t3 WHERE b='x17y'; - --match 17 - SELECT a FROM t3 WHERE b GLOB 'x2?y' ORDER BY b DESC LIMIT 5; - --match 29 28 27 26 25 ---end ---task 4 - DROP TABLE IF EXISTS t4; - CREATE TABLE t4(a INTEGER PRIMARY KEY, b); - INSERT INTO t4 SELECT a, b FROM t1; - UPDATE t1 SET b='x'||a||'y'; - SELECT sum(length(b)) FROM t4; - --match 247 - SELECT a FROM t4 WHERE b='x17y'; - --match 17 - CREATE INDEX t4b ON t4(b); - SELECT a FROM t4 WHERE b='x17y'; - --match 17 - SELECT a FROM t4 WHERE b GLOB 'x2?y' ORDER BY b DESC LIMIT 5; - --match 29 28 27 26 25 ---end ---task 5 - DROP TABLE IF EXISTS t5; - CREATE TABLE t5(a INTEGER PRIMARY KEY, b); - INSERT INTO t5 SELECT a, b FROM t1; - UPDATE t1 SET b='x'||a||'y'; - SELECT sum(length(b)) FROM t5; - --match 247 - SELECT a FROM t5 WHERE b='x17y'; - --match 17 - CREATE INDEX t5b ON t5(b); - SELECT a FROM t5 WHERE b='x17y'; - --match 17 - SELECT a FROM t5 WHERE b GLOB 'x2?y' ORDER BY b DESC LIMIT 5; - --match 29 28 27 26 25 ---end - ---wait all -/* After the database file has been set up, run the crash2 subscript -** multiple times. */ ---source crash02.subtest ---source crash02.subtest ---source crash02.subtest ---source crash02.subtest ---source crash02.subtest ---source crash02.subtest ---source crash02.subtest ---source crash02.subtest ---source crash02.subtest diff --git a/testdata/mptest/crash02.subtest b/testdata/mptest/crash02.subtest deleted file mode 100644 index 86f64dd..0000000 --- a/testdata/mptest/crash02.subtest +++ /dev/null @@ -1,53 +0,0 @@ -/* -** This script is called from crash01.test and config02.test and perhaps other -** script. After the database file has been set up, make a big rollback -** journal in client 1, then crash client 1. -** Then in the other clients, do an integrity check. -*/ ---task 1 leave-hot-journal - --sleep 5 - --finish - PRAGMA cache_size=10; - BEGIN; - UPDATE t1 SET b=randomblob(20000); - UPDATE t2 SET b=randomblob(20000); - UPDATE t3 SET b=randomblob(20000); - UPDATE t4 SET b=randomblob(20000); - UPDATE t5 SET b=randomblob(20000); - UPDATE t1 SET b=NULL; - UPDATE t2 SET b=NULL; - UPDATE t3 SET b=NULL; - UPDATE t4 SET b=NULL; - UPDATE t5 SET b=NULL; - --print Task one crashing an incomplete transaction - --exit 1 ---end ---task 2 integrity_check-2 - SELECT count(*) FROM t1; - --match 64 - --sleep 100 - PRAGMA integrity_check(10); - --match ok ---end ---task 3 integrity_check-3 - SELECT count(*) FROM t1; - --match 64 - --sleep 100 - PRAGMA integrity_check(10); - --match ok ---end ---task 4 integrity_check-4 - SELECT count(*) FROM t1; - --match 64 - --sleep 100 - PRAGMA integrity_check(10); - --match ok ---end ---task 5 integrity_check-5 - SELECT count(*) FROM t1; - --match 64 - --sleep 100 - PRAGMA integrity_check(10); - --match ok ---end ---wait all diff --git a/testdata/mptest/multiwrite01.test b/testdata/mptest/multiwrite01.test deleted file mode 100644 index 7062ae0..0000000 --- a/testdata/mptest/multiwrite01.test +++ /dev/null @@ -1,415 +0,0 @@ -/* -** This script sets up five different tasks all writing and updating -** the database at the same time, but each in its own table. -*/ ---task 1 build-t1 - DROP TABLE IF EXISTS t1; - CREATE TABLE t1(a INTEGER PRIMARY KEY, b); - --sleep 1 - INSERT INTO t1 VALUES(1, randomblob(2000)); - INSERT INTO t1 VALUES(2, randomblob(1000)); - --sleep 1 - INSERT INTO t1 SELECT a+2, randomblob(1500) FROM t1; - INSERT INTO t1 SELECT a+4, randomblob(1500) FROM t1; - INSERT INTO t1 SELECT a+8, randomblob(1500) FROM t1; - --sleep 1 - INSERT INTO t1 SELECT a+16, randomblob(1500) FROM t1; - --sleep 1 - INSERT INTO t1 SELECT a+32, randomblob(1500) FROM t1; - SELECT count(*) FROM t1; - --match 64 - SELECT avg(length(b)) FROM t1; - --match 1500.0 - --sleep 2 - UPDATE t1 SET b='x'||a||'y'; - SELECT sum(length(b)) FROM t1; - --match 247 - SELECT a FROM t1 WHERE b='x17y'; - --match 17 - CREATE INDEX t1b ON t1(b); - SELECT a FROM t1 WHERE b='x17y'; - --match 17 - SELECT a FROM t1 WHERE b GLOB 'x2?y' ORDER BY b DESC LIMIT 5; - --match 29 28 27 26 25 ---end - - ---task 2 build-t2 - DROP TABLE IF EXISTS t2; - CREATE TABLE t2(a INTEGER PRIMARY KEY, b); - --sleep 1 - INSERT INTO t2 VALUES(1, randomblob(2000)); - INSERT INTO t2 VALUES(2, randomblob(1000)); - --sleep 1 - INSERT INTO t2 SELECT a+2, randomblob(1500) FROM t2; - INSERT INTO t2 SELECT a+4, randomblob(1500) FROM t2; - INSERT INTO t2 SELECT a+8, randomblob(1500) FROM t2; - --sleep 1 - INSERT INTO t2 SELECT a+16, randomblob(1500) FROM t2; - --sleep 1 - INSERT INTO t2 SELECT a+32, randomblob(1500) FROM t2; - SELECT count(*) FROM t2; - --match 64 - SELECT avg(length(b)) FROM t2; - --match 1500.0 - --sleep 2 - UPDATE t2 SET b='x'||a||'y'; - SELECT sum(length(b)) FROM t2; - --match 247 - SELECT a FROM t2 WHERE b='x17y'; - --match 17 - CREATE INDEX t2b ON t2(b); - SELECT a FROM t2 WHERE b='x17y'; - --match 17 - SELECT a FROM t2 WHERE b GLOB 'x2?y' ORDER BY b DESC LIMIT 5; - --match 29 28 27 26 25 ---end - ---task 3 build-t3 - DROP TABLE IF EXISTS t3; - CREATE TABLE t3(a INTEGER PRIMARY KEY, b); - --sleep 1 - INSERT INTO t3 VALUES(1, randomblob(2000)); - INSERT INTO t3 VALUES(2, randomblob(1000)); - --sleep 1 - INSERT INTO t3 SELECT a+2, randomblob(1500) FROM t3; - INSERT INTO t3 SELECT a+4, randomblob(1500) FROM t3; - INSERT INTO t3 SELECT a+8, randomblob(1500) FROM t3; - --sleep 1 - INSERT INTO t3 SELECT a+16, randomblob(1500) FROM t3; - --sleep 1 - INSERT INTO t3 SELECT a+32, randomblob(1500) FROM t3; - SELECT count(*) FROM t3; - --match 64 - SELECT avg(length(b)) FROM t3; - --match 1500.0 - --sleep 2 - UPDATE t3 SET b='x'||a||'y'; - SELECT sum(length(b)) FROM t3; - --match 247 - SELECT a FROM t3 WHERE b='x17y'; - --match 17 - CREATE INDEX t3b ON t3(b); - SELECT a FROM t3 WHERE b='x17y'; - --match 17 - SELECT a FROM t3 WHERE b GLOB 'x2?y' ORDER BY b DESC LIMIT 5; - --match 29 28 27 26 25 ---end - ---task 4 build-t4 - DROP TABLE IF EXISTS t4; - CREATE TABLE t4(a INTEGER PRIMARY KEY, b); - --sleep 1 - INSERT INTO t4 VALUES(1, randomblob(2000)); - INSERT INTO t4 VALUES(2, randomblob(1000)); - --sleep 1 - INSERT INTO t4 SELECT a+2, randomblob(1500) FROM t4; - INSERT INTO t4 SELECT a+4, randomblob(1500) FROM t4; - INSERT INTO t4 SELECT a+8, randomblob(1500) FROM t4; - --sleep 1 - INSERT INTO t4 SELECT a+16, randomblob(1500) FROM t4; - --sleep 1 - INSERT INTO t4 SELECT a+32, randomblob(1500) FROM t4; - SELECT count(*) FROM t4; - --match 64 - SELECT avg(length(b)) FROM t4; - --match 1500.0 - --sleep 2 - UPDATE t4 SET b='x'||a||'y'; - SELECT sum(length(b)) FROM t4; - --match 247 - SELECT a FROM t4 WHERE b='x17y'; - --match 17 - CREATE INDEX t4b ON t4(b); - SELECT a FROM t4 WHERE b='x17y'; - --match 17 - SELECT a FROM t4 WHERE b GLOB 'x2?y' ORDER BY b DESC LIMIT 5; - --match 29 28 27 26 25 ---end - ---task 5 build-t5 - DROP TABLE IF EXISTS t5; - CREATE TABLE t5(a INTEGER PRIMARY KEY, b); - --sleep 1 - INSERT INTO t5 VALUES(1, randomblob(2000)); - INSERT INTO t5 VALUES(2, randomblob(1000)); - --sleep 1 - INSERT INTO t5 SELECT a+2, randomblob(1500) FROM t5; - INSERT INTO t5 SELECT a+4, randomblob(1500) FROM t5; - INSERT INTO t5 SELECT a+8, randomblob(1500) FROM t5; - --sleep 1 - INSERT INTO t5 SELECT a+16, randomblob(1500) FROM t5; - --sleep 1 - INSERT INTO t5 SELECT a+32, randomblob(1500) FROM t5; - SELECT count(*) FROM t5; - --match 64 - SELECT avg(length(b)) FROM t5; - --match 1500.0 - --sleep 2 - UPDATE t5 SET b='x'||a||'y'; - SELECT sum(length(b)) FROM t5; - --match 247 - SELECT a FROM t5 WHERE b='x17y'; - --match 17 - CREATE INDEX t5b ON t5(b); - SELECT a FROM t5 WHERE b='x17y'; - --match 17 - SELECT a FROM t5 WHERE b GLOB 'x2?y' ORDER BY b DESC LIMIT 5; - --match 29 28 27 26 25 ---end - ---wait all -SELECT count(*), sum(length(b)) FROM t1; ---match 64 247 -SELECT count(*), sum(length(b)) FROM t2; ---match 64 247 -SELECT count(*), sum(length(b)) FROM t3; ---match 64 247 -SELECT count(*), sum(length(b)) FROM t4; ---match 64 247 -SELECT count(*), sum(length(b)) FROM t5; ---match 64 247 - ---task 1 - SELECT t1.a FROM t1, t2 - WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y') - ORDER BY t1.a LIMIT 4 - --match 33 34 35 36 - SELECT t3.a FROM t3, t4 - WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y') - ORDER BY t3.a LIMIT 7 - --match 45 46 47 48 49 50 51 ---end ---task 5 - SELECT t1.a FROM t1, t2 - WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y') - ORDER BY t1.a LIMIT 4 - --match 33 34 35 36 - SELECT t3.a FROM t3, t4 - WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y') - ORDER BY t3.a LIMIT 7 - --match 45 46 47 48 49 50 51 ---end ---task 3 - SELECT t1.a FROM t1, t2 - WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y') - ORDER BY t1.a LIMIT 4 - --match 33 34 35 36 - SELECT t3.a FROM t3, t4 - WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y') - ORDER BY t3.a LIMIT 7 - --match 45 46 47 48 49 50 51 ---end ---task 2 - SELECT t1.a FROM t1, t2 - WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y') - ORDER BY t1.a LIMIT 4 - --match 33 34 35 36 - SELECT t3.a FROM t3, t4 - WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y') - ORDER BY t3.a LIMIT 7 - --match 45 46 47 48 49 50 51 ---end ---task 4 - SELECT t1.a FROM t1, t2 - WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y') - ORDER BY t1.a LIMIT 4 - --match 33 34 35 36 - SELECT t3.a FROM t3, t4 - WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y') - ORDER BY t3.a LIMIT 7 - --match 45 46 47 48 49 50 51 ---end ---wait all - ---task 5 - DROP INDEX t5b; - --sleep 5 - PRAGMA integrity_check(10); - --match ok - CREATE INDEX t5b ON t5(b DESC); ---end ---task 3 - DROP INDEX t3b; - --sleep 5 - PRAGMA integrity_check(10); - --match ok - CREATE INDEX t3b ON t3(b DESC); ---end ---task 1 - DROP INDEX t1b; - --sleep 5 - PRAGMA integrity_check(10); - --match ok - CREATE INDEX t1b ON t1(b DESC); ---end ---task 2 - DROP INDEX t2b; - --sleep 5 - PRAGMA integrity_check(10); - --match ok - CREATE INDEX t2b ON t2(b DESC); ---end ---task 4 - DROP INDEX t4b; - --sleep 5 - PRAGMA integrity_check(10); - --match ok - CREATE INDEX t4b ON t4(b DESC); ---end ---wait all - ---task 1 - SELECT t1.a FROM t1, t2 - WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y') - ORDER BY t1.a LIMIT 4 - --match 33 34 35 36 - SELECT t3.a FROM t3, t4 - WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y') - ORDER BY t3.a LIMIT 7 - --match 45 46 47 48 49 50 51 ---end ---task 5 - SELECT t1.a FROM t1, t2 - WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y') - ORDER BY t1.a LIMIT 4 - --match 33 34 35 36 - SELECT t3.a FROM t3, t4 - WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y') - ORDER BY t3.a LIMIT 7 - --match 45 46 47 48 49 50 51 ---end ---task 3 - SELECT t1.a FROM t1, t2 - WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y') - ORDER BY t1.a LIMIT 4 - --match 33 34 35 36 - SELECT t3.a FROM t3, t4 - WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y') - ORDER BY t3.a LIMIT 7 - --match 45 46 47 48 49 50 51 ---end ---task 2 - SELECT t1.a FROM t1, t2 - WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y') - ORDER BY t1.a LIMIT 4 - --match 33 34 35 36 - SELECT t3.a FROM t3, t4 - WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y') - ORDER BY t3.a LIMIT 7 - --match 45 46 47 48 49 50 51 ---end ---task 4 - SELECT t1.a FROM t1, t2 - WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y') - ORDER BY t1.a LIMIT 4 - --match 33 34 35 36 - SELECT t3.a FROM t3, t4 - WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y') - ORDER BY t3.a LIMIT 7 - --match 45 46 47 48 49 50 51 ---end ---wait all - -VACUUM; -PRAGMA integrity_check(10); ---match ok - ---task 1 - UPDATE t1 SET b=randomblob(20000); - --sleep 5 - UPDATE t1 SET b='x'||a||'y'; - SELECT a FROM t1 WHERE b='x63y'; - --match 63 ---end ---task 2 - UPDATE t2 SET b=randomblob(20000); - --sleep 5 - UPDATE t2 SET b='x'||a||'y'; - SELECT a FROM t2 WHERE b='x63y'; - --match 63 ---end ---task 3 - UPDATE t3 SET b=randomblob(20000); - --sleep 5 - UPDATE t3 SET b='x'||a||'y'; - SELECT a FROM t3 WHERE b='x63y'; - --match 63 ---end ---task 4 - UPDATE t4 SET b=randomblob(20000); - --sleep 5 - UPDATE t4 SET b='x'||a||'y'; - SELECT a FROM t4 WHERE b='x63y'; - --match 63 ---end ---task 5 - UPDATE t5 SET b=randomblob(20000); - --sleep 5 - UPDATE t5 SET b='x'||a||'y'; - SELECT a FROM t5 WHERE b='x63y'; - --match 63 ---end ---wait all - ---task 1 - SELECT t1.a FROM t1, t2 - WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y') - ORDER BY t1.a LIMIT 4 - --match 33 34 35 36 - SELECT t3.a FROM t3, t4 - WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y') - ORDER BY t3.a LIMIT 7 - --match 45 46 47 48 49 50 51 - PRAGMA integrity_check; - --match ok ---end ---task 5 - SELECT t1.a FROM t1, t2 - WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y') - ORDER BY t1.a LIMIT 4 - --match 33 34 35 36 - SELECT t3.a FROM t3, t4 - WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y') - ORDER BY t3.a LIMIT 7 - --match 45 46 47 48 49 50 51 - PRAGMA integrity_check; - --match ok ---end ---task 3 - SELECT t1.a FROM t1, t2 - WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y') - ORDER BY t1.a LIMIT 4 - --match 33 34 35 36 - SELECT t3.a FROM t3, t4 - WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y') - ORDER BY t3.a LIMIT 7 - --match 45 46 47 48 49 50 51 - PRAGMA integrity_check; - --match ok ---end ---task 2 - SELECT t1.a FROM t1, t2 - WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y') - ORDER BY t1.a LIMIT 4 - --match 33 34 35 36 - SELECT t3.a FROM t3, t4 - WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y') - ORDER BY t3.a LIMIT 7 - --match 45 46 47 48 49 50 51 - PRAGMA integrity_check; - --match ok ---end ---task 4 - SELECT t1.a FROM t1, t2 - WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y') - ORDER BY t1.a LIMIT 4 - --match 33 34 35 36 - SELECT t3.a FROM t3, t4 - WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y') - ORDER BY t3.a LIMIT 7 - --match 45 46 47 48 49 50 51 - PRAGMA integrity_check; - --match ok ---end ---wait all |