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
|
# name: test/sql/limit/test_preserve_insertion_order.test
# description: Test limit with preserve insertion order disabled
# group: [limit]
statement ok
PRAGMA enable_verification
statement ok
SET preserve_insertion_order=false
statement ok
CREATE TABLE integers AS SELECT 1 AS i FROM range(1000000) t(i)
query III
SELECT MIN(i), MAX(i), COUNT(*) FROM integers
----
1 1 1000000
query I
SELECT * FROM integers LIMIT 5
----
1
1
1
1
1
query I
SELECT * FROM integers LIMIT 5 OFFSET 500000
----
1
1
1
1
1
statement ok
CREATE TABLE integers2 AS SELECT * FROM range(1000000) tbl(i)
query III
SELECT MIN(i), MAX(i), COUNT(*) FROM integers2
----
0 999999 1000000
# we need a rowsort here because we don't preserve insertion order
# note that rowsort is a string-based sort
query I rowsort
SELECT * FROM integers2 WHERE i IN (337, 195723, 442578, 994375)
----
195723
337
442578
994375
# when insertion order is disabled, there is no guarantee on which tuples come out of a LIMIT clause
# for the LIMIT test select everything
query I rowsort
SELECT * FROM integers2 WHERE i IN (337, 195723, 442578, 994375) LIMIT 4
----
195723
337
442578
994375
|