xref: /sqlite-3.40.0/mptest/multiwrite01.test (revision cc285c5a)
13f5bc380Sdrh/*
23f5bc380Sdrh** This script sets up five different tasks all writing and updating
33f5bc380Sdrh** the database at the same time, but each in its own table.
43f5bc380Sdrh*/
54c5298f3Sdrh--task 1 build-t1
63f5bc380Sdrh  DROP TABLE IF EXISTS t1;
73f5bc380Sdrh  CREATE TABLE t1(a INTEGER PRIMARY KEY, b);
83f5bc380Sdrh  --sleep 1
93f5bc380Sdrh  INSERT INTO t1 VALUES(1, randomblob(2000));
103f5bc380Sdrh  INSERT INTO t1 VALUES(2, randomblob(1000));
113f5bc380Sdrh  --sleep 1
123f5bc380Sdrh  INSERT INTO t1 SELECT a+2, randomblob(1500) FROM t1;
133f5bc380Sdrh  INSERT INTO t1 SELECT a+4, randomblob(1500) FROM t1;
143f5bc380Sdrh  INSERT INTO t1 SELECT a+8, randomblob(1500) FROM t1;
153f5bc380Sdrh  --sleep 1
163f5bc380Sdrh  INSERT INTO t1 SELECT a+16, randomblob(1500) FROM t1;
173f5bc380Sdrh  --sleep 1
183f5bc380Sdrh  INSERT INTO t1 SELECT a+32, randomblob(1500) FROM t1;
193f5bc380Sdrh  SELECT count(*) FROM t1;
203f5bc380Sdrh  --match 64
213f5bc380Sdrh  SELECT avg(length(b)) FROM t1;
223f5bc380Sdrh  --match 1500.0
233f5bc380Sdrh  --sleep 2
243f5bc380Sdrh  UPDATE t1 SET b='x'||a||'y';
254c275b1fSdrh  SELECT sum(length(b)) FROM t1;
263f5bc380Sdrh  --match 247
27023dd903Sdrh  SELECT a FROM t1 WHERE b='x17y';
28023dd903Sdrh  --match 17
29023dd903Sdrh  CREATE INDEX t1b ON t1(b);
30023dd903Sdrh  SELECT a FROM t1 WHERE b='x17y';
31023dd903Sdrh  --match 17
32023dd903Sdrh  SELECT a FROM t1 WHERE b GLOB 'x2?y' ORDER BY b DESC LIMIT 5;
33023dd903Sdrh  --match 29 28 27 26 25
343f5bc380Sdrh--end
353f5bc380Sdrh
363f5bc380Sdrh
374c5298f3Sdrh--task 2 build-t2
383f5bc380Sdrh  DROP TABLE IF EXISTS t2;
393f5bc380Sdrh  CREATE TABLE t2(a INTEGER PRIMARY KEY, b);
403f5bc380Sdrh  --sleep 1
413f5bc380Sdrh  INSERT INTO t2 VALUES(1, randomblob(2000));
423f5bc380Sdrh  INSERT INTO t2 VALUES(2, randomblob(1000));
433f5bc380Sdrh  --sleep 1
443f5bc380Sdrh  INSERT INTO t2 SELECT a+2, randomblob(1500) FROM t2;
453f5bc380Sdrh  INSERT INTO t2 SELECT a+4, randomblob(1500) FROM t2;
463f5bc380Sdrh  INSERT INTO t2 SELECT a+8, randomblob(1500) FROM t2;
473f5bc380Sdrh  --sleep 1
483f5bc380Sdrh  INSERT INTO t2 SELECT a+16, randomblob(1500) FROM t2;
493f5bc380Sdrh  --sleep 1
503f5bc380Sdrh  INSERT INTO t2 SELECT a+32, randomblob(1500) FROM t2;
513f5bc380Sdrh  SELECT count(*) FROM t2;
523f5bc380Sdrh  --match 64
533f5bc380Sdrh  SELECT avg(length(b)) FROM t2;
543f5bc380Sdrh  --match 1500.0
553f5bc380Sdrh  --sleep 2
563f5bc380Sdrh  UPDATE t2 SET b='x'||a||'y';
574c275b1fSdrh  SELECT sum(length(b)) FROM t2;
583f5bc380Sdrh  --match 247
59023dd903Sdrh  SELECT a FROM t2 WHERE b='x17y';
60023dd903Sdrh  --match 17
61023dd903Sdrh  CREATE INDEX t2b ON t2(b);
62023dd903Sdrh  SELECT a FROM t2 WHERE b='x17y';
63023dd903Sdrh  --match 17
64023dd903Sdrh  SELECT a FROM t2 WHERE b GLOB 'x2?y' ORDER BY b DESC LIMIT 5;
65023dd903Sdrh  --match 29 28 27 26 25
663f5bc380Sdrh--end
673f5bc380Sdrh
684c5298f3Sdrh--task 3 build-t3
693f5bc380Sdrh  DROP TABLE IF EXISTS t3;
703f5bc380Sdrh  CREATE TABLE t3(a INTEGER PRIMARY KEY, b);
713f5bc380Sdrh  --sleep 1
723f5bc380Sdrh  INSERT INTO t3 VALUES(1, randomblob(2000));
733f5bc380Sdrh  INSERT INTO t3 VALUES(2, randomblob(1000));
743f5bc380Sdrh  --sleep 1
753f5bc380Sdrh  INSERT INTO t3 SELECT a+2, randomblob(1500) FROM t3;
763f5bc380Sdrh  INSERT INTO t3 SELECT a+4, randomblob(1500) FROM t3;
773f5bc380Sdrh  INSERT INTO t3 SELECT a+8, randomblob(1500) FROM t3;
783f5bc380Sdrh  --sleep 1
793f5bc380Sdrh  INSERT INTO t3 SELECT a+16, randomblob(1500) FROM t3;
803f5bc380Sdrh  --sleep 1
813f5bc380Sdrh  INSERT INTO t3 SELECT a+32, randomblob(1500) FROM t3;
823f5bc380Sdrh  SELECT count(*) FROM t3;
833f5bc380Sdrh  --match 64
843f5bc380Sdrh  SELECT avg(length(b)) FROM t3;
853f5bc380Sdrh  --match 1500.0
863f5bc380Sdrh  --sleep 2
873f5bc380Sdrh  UPDATE t3 SET b='x'||a||'y';
884c275b1fSdrh  SELECT sum(length(b)) FROM t3;
893f5bc380Sdrh  --match 247
90023dd903Sdrh  SELECT a FROM t3 WHERE b='x17y';
91023dd903Sdrh  --match 17
92023dd903Sdrh  CREATE INDEX t3b ON t3(b);
93023dd903Sdrh  SELECT a FROM t3 WHERE b='x17y';
94023dd903Sdrh  --match 17
95023dd903Sdrh  SELECT a FROM t3 WHERE b GLOB 'x2?y' ORDER BY b DESC LIMIT 5;
96023dd903Sdrh  --match 29 28 27 26 25
973f5bc380Sdrh--end
983f5bc380Sdrh
994c5298f3Sdrh--task 4 build-t4
1003f5bc380Sdrh  DROP TABLE IF EXISTS t4;
1013f5bc380Sdrh  CREATE TABLE t4(a INTEGER PRIMARY KEY, b);
1023f5bc380Sdrh  --sleep 1
1033f5bc380Sdrh  INSERT INTO t4 VALUES(1, randomblob(2000));
1043f5bc380Sdrh  INSERT INTO t4 VALUES(2, randomblob(1000));
1053f5bc380Sdrh  --sleep 1
1063f5bc380Sdrh  INSERT INTO t4 SELECT a+2, randomblob(1500) FROM t4;
1073f5bc380Sdrh  INSERT INTO t4 SELECT a+4, randomblob(1500) FROM t4;
1083f5bc380Sdrh  INSERT INTO t4 SELECT a+8, randomblob(1500) FROM t4;
1093f5bc380Sdrh  --sleep 1
1103f5bc380Sdrh  INSERT INTO t4 SELECT a+16, randomblob(1500) FROM t4;
1113f5bc380Sdrh  --sleep 1
1123f5bc380Sdrh  INSERT INTO t4 SELECT a+32, randomblob(1500) FROM t4;
1133f5bc380Sdrh  SELECT count(*) FROM t4;
1143f5bc380Sdrh  --match 64
1153f5bc380Sdrh  SELECT avg(length(b)) FROM t4;
1163f5bc380Sdrh  --match 1500.0
1173f5bc380Sdrh  --sleep 2
1183f5bc380Sdrh  UPDATE t4 SET b='x'||a||'y';
1194c275b1fSdrh  SELECT sum(length(b)) FROM t4;
1203f5bc380Sdrh  --match 247
121023dd903Sdrh  SELECT a FROM t4 WHERE b='x17y';
122023dd903Sdrh  --match 17
123023dd903Sdrh  CREATE INDEX t4b ON t4(b);
124023dd903Sdrh  SELECT a FROM t4 WHERE b='x17y';
125023dd903Sdrh  --match 17
126023dd903Sdrh  SELECT a FROM t4 WHERE b GLOB 'x2?y' ORDER BY b DESC LIMIT 5;
127023dd903Sdrh  --match 29 28 27 26 25
1283f5bc380Sdrh--end
1293f5bc380Sdrh
1304c5298f3Sdrh--task 5 build-t5
1313f5bc380Sdrh  DROP TABLE IF EXISTS t5;
1323f5bc380Sdrh  CREATE TABLE t5(a INTEGER PRIMARY KEY, b);
1333f5bc380Sdrh  --sleep 1
1343f5bc380Sdrh  INSERT INTO t5 VALUES(1, randomblob(2000));
1353f5bc380Sdrh  INSERT INTO t5 VALUES(2, randomblob(1000));
1363f5bc380Sdrh  --sleep 1
1373f5bc380Sdrh  INSERT INTO t5 SELECT a+2, randomblob(1500) FROM t5;
1383f5bc380Sdrh  INSERT INTO t5 SELECT a+4, randomblob(1500) FROM t5;
1393f5bc380Sdrh  INSERT INTO t5 SELECT a+8, randomblob(1500) FROM t5;
1403f5bc380Sdrh  --sleep 1
1413f5bc380Sdrh  INSERT INTO t5 SELECT a+16, randomblob(1500) FROM t5;
1423f5bc380Sdrh  --sleep 1
1433f5bc380Sdrh  INSERT INTO t5 SELECT a+32, randomblob(1500) FROM t5;
1443f5bc380Sdrh  SELECT count(*) FROM t5;
1453f5bc380Sdrh  --match 64
1463f5bc380Sdrh  SELECT avg(length(b)) FROM t5;
1473f5bc380Sdrh  --match 1500.0
1483f5bc380Sdrh  --sleep 2
1493f5bc380Sdrh  UPDATE t5 SET b='x'||a||'y';
1504c275b1fSdrh  SELECT sum(length(b)) FROM t5;
1513f5bc380Sdrh  --match 247
152023dd903Sdrh  SELECT a FROM t5 WHERE b='x17y';
153023dd903Sdrh  --match 17
154023dd903Sdrh  CREATE INDEX t5b ON t5(b);
155023dd903Sdrh  SELECT a FROM t5 WHERE b='x17y';
156023dd903Sdrh  --match 17
157023dd903Sdrh  SELECT a FROM t5 WHERE b GLOB 'x2?y' ORDER BY b DESC LIMIT 5;
158023dd903Sdrh  --match 29 28 27 26 25
1593f5bc380Sdrh--end
1603f5bc380Sdrh
1613f5bc380Sdrh--wait all
1624c275b1fSdrhSELECT count(*), sum(length(b)) FROM t1;
1633f5bc380Sdrh--match 64 247
1644c275b1fSdrhSELECT count(*), sum(length(b)) FROM t2;
1653f5bc380Sdrh--match 64 247
1664c275b1fSdrhSELECT count(*), sum(length(b)) FROM t3;
1673f5bc380Sdrh--match 64 247
1684c275b1fSdrhSELECT count(*), sum(length(b)) FROM t4;
1693f5bc380Sdrh--match 64 247
1704c275b1fSdrhSELECT count(*), sum(length(b)) FROM t5;
1713f5bc380Sdrh--match 64 247
172023dd903Sdrh
173023dd903Sdrh--task 1
174023dd903Sdrh  SELECT t1.a FROM t1, t2
175023dd903Sdrh   WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y')
176023dd903Sdrh   ORDER BY t1.a LIMIT 4
177023dd903Sdrh  --match 33 34 35 36
178023dd903Sdrh  SELECT t3.a FROM t3, t4
179023dd903Sdrh   WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y')
180023dd903Sdrh   ORDER BY t3.a LIMIT 7
181023dd903Sdrh  --match 45 46 47 48 49 50 51
182023dd903Sdrh--end
183023dd903Sdrh--task 5
184023dd903Sdrh  SELECT t1.a FROM t1, t2
185023dd903Sdrh   WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y')
186023dd903Sdrh   ORDER BY t1.a LIMIT 4
187023dd903Sdrh  --match 33 34 35 36
188023dd903Sdrh  SELECT t3.a FROM t3, t4
189023dd903Sdrh   WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y')
190023dd903Sdrh   ORDER BY t3.a LIMIT 7
191023dd903Sdrh  --match 45 46 47 48 49 50 51
192023dd903Sdrh--end
193023dd903Sdrh--task 3
194023dd903Sdrh  SELECT t1.a FROM t1, t2
195023dd903Sdrh   WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y')
196023dd903Sdrh   ORDER BY t1.a LIMIT 4
197023dd903Sdrh  --match 33 34 35 36
198023dd903Sdrh  SELECT t3.a FROM t3, t4
199023dd903Sdrh   WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y')
200023dd903Sdrh   ORDER BY t3.a LIMIT 7
201023dd903Sdrh  --match 45 46 47 48 49 50 51
202023dd903Sdrh--end
203023dd903Sdrh--task 2
204023dd903Sdrh  SELECT t1.a FROM t1, t2
205023dd903Sdrh   WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y')
206023dd903Sdrh   ORDER BY t1.a LIMIT 4
207023dd903Sdrh  --match 33 34 35 36
208023dd903Sdrh  SELECT t3.a FROM t3, t4
209023dd903Sdrh   WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y')
210023dd903Sdrh   ORDER BY t3.a LIMIT 7
211023dd903Sdrh  --match 45 46 47 48 49 50 51
212023dd903Sdrh--end
213023dd903Sdrh--task 4
214023dd903Sdrh  SELECT t1.a FROM t1, t2
215023dd903Sdrh   WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y')
216023dd903Sdrh   ORDER BY t1.a LIMIT 4
217023dd903Sdrh  --match 33 34 35 36
218023dd903Sdrh  SELECT t3.a FROM t3, t4
219023dd903Sdrh   WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y')
220023dd903Sdrh   ORDER BY t3.a LIMIT 7
221023dd903Sdrh  --match 45 46 47 48 49 50 51
222023dd903Sdrh--end
223023dd903Sdrh--wait all
224023dd903Sdrh
225023dd903Sdrh--task 5
226023dd903Sdrh  DROP INDEX t5b;
227023dd903Sdrh  --sleep 5
2287de96f7fSdrh  PRAGMA integrity_check(10);
229023dd903Sdrh  --match ok
230023dd903Sdrh  CREATE INDEX t5b ON t5(b DESC);
231023dd903Sdrh--end
232023dd903Sdrh--task 3
233023dd903Sdrh  DROP INDEX t3b;
234023dd903Sdrh  --sleep 5
2357de96f7fSdrh  PRAGMA integrity_check(10);
236023dd903Sdrh  --match ok
237023dd903Sdrh  CREATE INDEX t3b ON t3(b DESC);
238023dd903Sdrh--end
239023dd903Sdrh--task 1
240023dd903Sdrh  DROP INDEX t1b;
241023dd903Sdrh  --sleep 5
2427de96f7fSdrh  PRAGMA integrity_check(10);
243023dd903Sdrh  --match ok
244023dd903Sdrh  CREATE INDEX t1b ON t1(b DESC);
245023dd903Sdrh--end
246023dd903Sdrh--task 2
247023dd903Sdrh  DROP INDEX t2b;
248023dd903Sdrh  --sleep 5
2497de96f7fSdrh  PRAGMA integrity_check(10);
250023dd903Sdrh  --match ok
251023dd903Sdrh  CREATE INDEX t2b ON t2(b DESC);
252023dd903Sdrh--end
253023dd903Sdrh--task 4
254023dd903Sdrh  DROP INDEX t4b;
255023dd903Sdrh  --sleep 5
2567de96f7fSdrh  PRAGMA integrity_check(10);
257023dd903Sdrh  --match ok
258023dd903Sdrh  CREATE INDEX t4b ON t4(b DESC);
259023dd903Sdrh--end
260023dd903Sdrh--wait all
261023dd903Sdrh
262023dd903Sdrh--task 1
263023dd903Sdrh  SELECT t1.a FROM t1, t2
264023dd903Sdrh   WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y')
265023dd903Sdrh   ORDER BY t1.a LIMIT 4
266023dd903Sdrh  --match 33 34 35 36
267023dd903Sdrh  SELECT t3.a FROM t3, t4
268023dd903Sdrh   WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y')
269023dd903Sdrh   ORDER BY t3.a LIMIT 7
270023dd903Sdrh  --match 45 46 47 48 49 50 51
271023dd903Sdrh--end
272023dd903Sdrh--task 5
273023dd903Sdrh  SELECT t1.a FROM t1, t2
274023dd903Sdrh   WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y')
275023dd903Sdrh   ORDER BY t1.a LIMIT 4
276023dd903Sdrh  --match 33 34 35 36
277023dd903Sdrh  SELECT t3.a FROM t3, t4
278023dd903Sdrh   WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y')
279023dd903Sdrh   ORDER BY t3.a LIMIT 7
280023dd903Sdrh  --match 45 46 47 48 49 50 51
281023dd903Sdrh--end
282023dd903Sdrh--task 3
283023dd903Sdrh  SELECT t1.a FROM t1, t2
284023dd903Sdrh   WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y')
285023dd903Sdrh   ORDER BY t1.a LIMIT 4
286023dd903Sdrh  --match 33 34 35 36
287023dd903Sdrh  SELECT t3.a FROM t3, t4
288023dd903Sdrh   WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y')
289023dd903Sdrh   ORDER BY t3.a LIMIT 7
290023dd903Sdrh  --match 45 46 47 48 49 50 51
291023dd903Sdrh--end
292023dd903Sdrh--task 2
293023dd903Sdrh  SELECT t1.a FROM t1, t2
294023dd903Sdrh   WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y')
295023dd903Sdrh   ORDER BY t1.a LIMIT 4
296023dd903Sdrh  --match 33 34 35 36
297023dd903Sdrh  SELECT t3.a FROM t3, t4
298023dd903Sdrh   WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y')
299023dd903Sdrh   ORDER BY t3.a LIMIT 7
300023dd903Sdrh  --match 45 46 47 48 49 50 51
301023dd903Sdrh--end
302023dd903Sdrh--task 4
303023dd903Sdrh  SELECT t1.a FROM t1, t2
304023dd903Sdrh   WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y')
305023dd903Sdrh   ORDER BY t1.a LIMIT 4
306023dd903Sdrh  --match 33 34 35 36
307023dd903Sdrh  SELECT t3.a FROM t3, t4
308023dd903Sdrh   WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y')
309023dd903Sdrh   ORDER BY t3.a LIMIT 7
310023dd903Sdrh  --match 45 46 47 48 49 50 51
311023dd903Sdrh--end
312023dd903Sdrh--wait all
313023dd903Sdrh
314023dd903SdrhVACUUM;
3157de96f7fSdrhPRAGMA integrity_check(10);
316023dd903Sdrh--match ok
317023dd903Sdrh
318023dd903Sdrh--task 1
319023dd903Sdrh  UPDATE t1 SET b=randomblob(20000);
320023dd903Sdrh  --sleep 5
321023dd903Sdrh  UPDATE t1 SET b='x'||a||'y';
322023dd903Sdrh  SELECT a FROM t1 WHERE b='x63y';
323023dd903Sdrh  --match 63
324023dd903Sdrh--end
325023dd903Sdrh--task 2
326023dd903Sdrh  UPDATE t2 SET b=randomblob(20000);
327023dd903Sdrh  --sleep 5
328023dd903Sdrh  UPDATE t2 SET b='x'||a||'y';
329023dd903Sdrh  SELECT a FROM t2 WHERE b='x63y';
330023dd903Sdrh  --match 63
331023dd903Sdrh--end
332023dd903Sdrh--task 3
333023dd903Sdrh  UPDATE t3 SET b=randomblob(20000);
334023dd903Sdrh  --sleep 5
335023dd903Sdrh  UPDATE t3 SET b='x'||a||'y';
336023dd903Sdrh  SELECT a FROM t3 WHERE b='x63y';
337023dd903Sdrh  --match 63
338023dd903Sdrh--end
339023dd903Sdrh--task 4
340023dd903Sdrh  UPDATE t4 SET b=randomblob(20000);
341023dd903Sdrh  --sleep 5
342023dd903Sdrh  UPDATE t4 SET b='x'||a||'y';
343023dd903Sdrh  SELECT a FROM t4 WHERE b='x63y';
344023dd903Sdrh  --match 63
345023dd903Sdrh--end
346023dd903Sdrh--task 5
347023dd903Sdrh  UPDATE t5 SET b=randomblob(20000);
348023dd903Sdrh  --sleep 5
349023dd903Sdrh  UPDATE t5 SET b='x'||a||'y';
350023dd903Sdrh  SELECT a FROM t5 WHERE b='x63y';
351023dd903Sdrh  --match 63
352023dd903Sdrh--end
353023dd903Sdrh--wait all
354023dd903Sdrh
355023dd903Sdrh--task 1
356023dd903Sdrh  SELECT t1.a FROM t1, t2
357023dd903Sdrh   WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y')
358023dd903Sdrh   ORDER BY t1.a LIMIT 4
359023dd903Sdrh  --match 33 34 35 36
360023dd903Sdrh  SELECT t3.a FROM t3, t4
361023dd903Sdrh   WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y')
362023dd903Sdrh   ORDER BY t3.a LIMIT 7
363023dd903Sdrh  --match 45 46 47 48 49 50 51
364*cc285c5aSdrh  PRAGMA integrity_check;
365*cc285c5aSdrh  --match ok
366023dd903Sdrh--end
367023dd903Sdrh--task 5
368023dd903Sdrh  SELECT t1.a FROM t1, t2
369023dd903Sdrh   WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y')
370023dd903Sdrh   ORDER BY t1.a LIMIT 4
371023dd903Sdrh  --match 33 34 35 36
372023dd903Sdrh  SELECT t3.a FROM t3, t4
373023dd903Sdrh   WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y')
374023dd903Sdrh   ORDER BY t3.a LIMIT 7
375023dd903Sdrh  --match 45 46 47 48 49 50 51
376*cc285c5aSdrh  PRAGMA integrity_check;
377*cc285c5aSdrh  --match ok
378023dd903Sdrh--end
379023dd903Sdrh--task 3
380023dd903Sdrh  SELECT t1.a FROM t1, t2
381023dd903Sdrh   WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y')
382023dd903Sdrh   ORDER BY t1.a LIMIT 4
383023dd903Sdrh  --match 33 34 35 36
384023dd903Sdrh  SELECT t3.a FROM t3, t4
385023dd903Sdrh   WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y')
386023dd903Sdrh   ORDER BY t3.a LIMIT 7
387023dd903Sdrh  --match 45 46 47 48 49 50 51
388*cc285c5aSdrh  PRAGMA integrity_check;
389*cc285c5aSdrh  --match ok
390023dd903Sdrh--end
391023dd903Sdrh--task 2
392023dd903Sdrh  SELECT t1.a FROM t1, t2
393023dd903Sdrh   WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y')
394023dd903Sdrh   ORDER BY t1.a LIMIT 4
395023dd903Sdrh  --match 33 34 35 36
396023dd903Sdrh  SELECT t3.a FROM t3, t4
397023dd903Sdrh   WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y')
398023dd903Sdrh   ORDER BY t3.a LIMIT 7
399023dd903Sdrh  --match 45 46 47 48 49 50 51
400*cc285c5aSdrh  PRAGMA integrity_check;
401*cc285c5aSdrh  --match ok
402023dd903Sdrh--end
403023dd903Sdrh--task 4
404023dd903Sdrh  SELECT t1.a FROM t1, t2
405023dd903Sdrh   WHERE t2.b GLOB 'x3?y' AND t1.b=('x'||(t2.a+3)||'y')
406023dd903Sdrh   ORDER BY t1.a LIMIT 4
407023dd903Sdrh  --match 33 34 35 36
408023dd903Sdrh  SELECT t3.a FROM t3, t4
409023dd903Sdrh   WHERE t4.b GLOB 'x4?y' AND t3.b=('x'||(t4.a+5)||'y')
410023dd903Sdrh   ORDER BY t3.a LIMIT 7
411023dd903Sdrh  --match 45 46 47 48 49 50 51
412*cc285c5aSdrh  PRAGMA integrity_check;
413*cc285c5aSdrh  --match ok
414023dd903Sdrh--end
4156adab7a1Sdrh--wait all
416