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
|
# name: test/sql/order/order_parallel_ctas.test_slow
# description: Test parallel CREATE TABLE AS with ORDER BY
# group: [order]
load __TEST_DIR__/order_parallel_ctas.db
statement ok
PRAGMA disable_checkpoint_on_shutdown
statement ok
PRAGMA wal_autocheckpoint='1TB';
statement ok
pragma verify_parallelism
statement ok
create table integers as select range i from range(100000) order by random()
loop i 0 20
statement ok
create table sorted_integers as select i from integers order by i
restart
# empty result if sorted
query T
select * FROM sorted_integers QUALIFY NOT (i>lag(i) over () OR lag(i) OVER () IS NULL)
----
statement ok
drop table sorted_integers
endloop
# now we do the same but with a UNION ALL
loop i 0 20
statement ok
create table sorted_integers as
with p1 as (
select i from integers order by i
), p2 as (
select i + 100000 from integers order by i
)
select * from p1 union all select * from p2
restart
# empty result if sorted
query T
select * FROM sorted_integers QUALIFY NOT (i>lag(i) over () OR lag(i) OVER () IS NULL)
----
statement ok
drop table sorted_integers
endloop
|