1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
# name: test/sql/parallelism/intraquery/parallel_materialization.test_slow
# description: Test parallel materialization of results
# group: [intraquery]
statement ok
PRAGMA enable_verification
statement ok
PRAGMA threads=4
statement ok
PRAGMA verify_parallelism
statement ok
CREATE TABLE integers(i INTEGER)
statement ok
CREATE TABLE other_table AS SELECT 337 i UNION ALL SELECT 948247 UNION ALL SELECT 1779793 UNION ALL SELECT 4779793;
statement ok
INSERT INTO integers SELECT * FROM range(2500000)
statement ok
BEGIN TRANSACTION
statement ok
INSERT INTO integers SELECT * FROM range(2500000, 5000000) tbl(i);
# run these tests twice - once with transaction local data and once without
loop i 0 2
# IN-clause (semi join)
query I sort
SELECT * FROM integers WHERE i IN (SELECT * FROM other_table)
----
1779793
337
4779793
948247
# explicit join
query I sort
SELECT * FROM integers JOIN other_table USING(i)
----
1779793
337
4779793
948247
# simple WHERE clause
query I
SELECT * FROM integers WHERE i > 337 AND i < 340
----
338
339
# IN-clause
query I sort
SELECT * FROM integers WHERE i IN (337, 948247, 1779793, 4779793, 99999999999999)
----
1779793
337
4779793
948247
# more complex where clause
query I
SELECT * FROM integers WHERE i=337 OR (i+i>1896494 AND i+i<= 1896498) OR (i*2=9559586)
----
337
948248
948249
4779793
statement ok
COMMIT
statement ok
BEGIN TRANSACTION
endloop
|