# name: test/sql/setops/union_limit.test # description: Test union limit # group: [setops] statement ok PRAGMA enable_verification query I SELECT 1 UNION ALL SELECT * FROM range(2, 100) UNION ALL SELECT 999 LIMIT 5; ---- 1 2 3 4 5 query I SELECT 'select count(case'a union all select 'when a='||range||' then 1' from range(100) LIMIT 5; ---- select count(case when a=0 then 1 when a=1 then 1 when a=2 then 1 when a=3 then 1 query I SELECT STRING_AGG(a, ' ') FROM (SELECT 'select count(case'a union all select 'when a='||range||' then 1' from range(2) union all select 'end) from t') tbl; ---- select count(case when a=0 then 1 when a=1 then 1 end) from t query I SELECT 'select count(case'a union all select 'when a='||range||' then 1' from range(2) union all select 'end) from t' LIMIT 5; ---- select count(case when a=0 then 1 when a=1 then 1 end) from t query I SELECT 'select count(case'a union all select 'when a='||range||' then 1' from range(100) union all select 'end) from t' LIMIT 5; ---- select count(case when a=0 then 1 when a=1 then 1 when a=2 then 1 when a=3 then 1 query I SELECT 1 UNION ALL ( SELECT * FROM generate_series(10, 12, 1) UNION ALL ( SELECT * FROM generate_series(100, 103, 1) ) UNION ALL SELECT * FROM generate_series(1000, 1002, 1) ) UNION ALL SELECT * FROM generate_series(10000, 10002, 1) UNION ALL ( SELECT * FROM generate_series(100000, 100002, 1) UNION ALL SELECT * FROM generate_series(1000000, 1000003, 1) ); ---- 1 10 11 12 100 101 102 103 1000 1001 1002 10000 10001 10002 100000 100001 100002 1000000 1000001 1000002 1000003 query I SELECT ARRAY_AGG(1) UNION ALL ( SELECT ARRAY_AGG(i) FROM generate_series(10, 12, 1) tbl(i) UNION ALL ( SELECT ARRAY_AGG(i) FROM generate_series(100, 103, 1) tbl(i) ) UNION ALL SELECT ARRAY_AGG(i) FROM generate_series(1000, 1002, 1) tbl(i) ) UNION ALL SELECT ARRAY_AGG(i) FROM generate_series(10000, 10002, 1) tbl(i) UNION ALL ( SELECT ARRAY_AGG(i) FROM generate_series(100000, 100002, 1) tbl(i) UNION ALL SELECT ARRAY_AGG(i) FROM generate_series(1000000, 1000003, 1) tbl(i) ); ---- [1] [10, 11, 12] [100, 101, 102, 103] [1000, 1001, 1002] [10000, 10001, 10002] [100000, 100001, 100002] [1000000, 1000001, 1000002, 1000003] query I SELECT 1 UNION ALL ( SELECT * FROM generate_series(10, 12, 1) UNION ALL ( SELECT * FROM generate_series(100, 103, 1) ) UNION ALL SELECT * FROM generate_series(1000, 1002, 1) ) UNION ALL SELECT * FROM generate_series(10000, 10002, 1) UNION ALL ( SELECT * FROM generate_series(100000, 100002, 1) UNION ALL SELECT * FROM generate_series(1000000, 1000003, 1) ) LIMIT 1000; ---- 1 10 11 12 100 101 102 103 1000 1001 1002 10000 10001 10002 100000 100001 100002 1000000 1000001 1000002 1000003 query I SELECT ARRAY_AGG(1) UNION ALL ( SELECT ARRAY_AGG(i) FROM generate_series(10, 12, 1) tbl(i) UNION ALL ( SELECT ARRAY_AGG(i) FROM generate_series(100, 103, 1) tbl(i) ) UNION ALL SELECT ARRAY_AGG(i) FROM generate_series(1000, 1002, 1) tbl(i) ) UNION ALL SELECT ARRAY_AGG(i) FROM generate_series(10000, 10002, 1) tbl(i) UNION ALL ( SELECT ARRAY_AGG(i) FROM generate_series(100000, 100002, 1) tbl(i) UNION ALL SELECT ARRAY_AGG(i) FROM generate_series(1000000, 1000003, 1) tbl(i) ) LIMIT 1000; ---- [1] [10, 11, 12] [100, 101, 102, 103] [1000, 1001, 1002] [10000, 10001, 10002] [100000, 100001, 100002] [1000000, 1000001, 1000002, 1000003]