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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
# name: test/sql/limit/test_parallel_limit_nulls.test_slow
# description: Test parallel limit execution with NULLs
# group: [limit]
statement ok
PRAGMA enable_verification
statement ok
PRAGMA threads=8
statement ok
CREATE TABLE other_table AS SELECT 337 i UNION ALL SELECT 948247 UNION ALL SELECT 1779793 UNION ALL SELECT 4779793;
foreach table_type TABLE VIEW
statement ok
CREATE ${table_type} integers AS SELECT i, CASE WHEN i%2=0 THEN NULL ELSE i END AS k FROM range(10000000) tbl(i);
query I
SELECT k FROM integers LIMIT 5
----
NULL
1
NULL
3
NULL
query I
SELECT k FROM integers WHERE i>1978321 OR i=334 LIMIT 5
----
NULL
NULL
1978323
NULL
1978325
query I
SELECT k FROM integers WHERE i>1978321 LIMIT 5
----
NULL
1978323
NULL
1978325
NULL
query I
SELECT k FROM integers WHERE i>4978321 LIMIT 5
----
NULL
4978323
NULL
4978325
NULL
# large offset
query I
SELECT k FROM integers WHERE i>4978321 LIMIT 5 OFFSET 100000;
----
NULL
5078323
NULL
5078325
NULL
query I
SELECT k FROM integers WHERE i>4978321 LIMIT 5 OFFSET 1000000;
----
NULL
5978323
NULL
5978325
NULL
# IN-clause (semi join)
query I sort
SELECT k FROM integers WHERE i IN (SELECT * FROM other_table)
----
1779793
337
4779793
948247
query I
(SELECT k FROM integers WHERE i>1978321 LIMIT 5) UNION ALL (SELECT k FROM integers WHERE i>4978321 LIMIT 5)
----
NULL
1978323
NULL
1978325
NULL
NULL
4978323
NULL
4978325
NULL
statement ok
DROP ${table_type} integers
endloop
|