should be it
This commit is contained in:
34
external/duckdb/test/sql/ordinality/ordinality.test_slow
vendored
Normal file
34
external/duckdb/test/sql/ordinality/ordinality.test_slow
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
# name: test/sql/ordinality/ordinality.test_slow
|
||||
# description: Tests with ordinality across chunk borders
|
||||
# group: [ordinality]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification;
|
||||
|
||||
query I
|
||||
SELECT bool_and(ordinality - r == 1)
|
||||
FROM (SELECT a, ro.r, ro.ordinality
|
||||
FROM
|
||||
VALUES (3000), (4000) AS t(a),
|
||||
LATERAL range(t.a) WITH ORDINALITY AS ro(r, ordinality)
|
||||
) AS sub(a, r, ordinality);
|
||||
----
|
||||
true
|
||||
|
||||
|
||||
query II nosort read_csv_result
|
||||
SELECT drug_exposure_id, ordinality FROM read_csv('data/csv/drug_exposure.csv') WITH ORDINALITY ORDER BY ordinality,drug_exposure_id;
|
||||
|
||||
query II nosort read_csv_result
|
||||
SELECT drug_exposure_id, row_number() OVER () AS ordinality FROM read_csv('data/csv/drug_exposure.csv') ORDER BY ordinality,drug_exposure_id;
|
||||
|
||||
|
||||
require parquet
|
||||
|
||||
|
||||
query III nosort parquet_result
|
||||
SELECT name,id,ordinality FROM read_parquet('data/parquet-testing/candidate.parquet') WITH ORDINALITY ORDER BY ordinality,name,id;
|
||||
|
||||
|
||||
query III nosort parquet_result
|
||||
SELECT name,id, row_number() OVER () AS ordinality FROM read_parquet('data/parquet-testing/candidate.parquet') ORDER BY ordinality,name,id;
|
||||
143
external/duckdb/test/sql/ordinality/ordinality_constant.test
vendored
Normal file
143
external/duckdb/test/sql/ordinality/ordinality_constant.test
vendored
Normal file
@@ -0,0 +1,143 @@
|
||||
# name: test/sql/ordinality/ordinality_constant.test
|
||||
# description: Tests with ordinality for constant TVFs and non-correlated InOut-functions
|
||||
# group: [ordinality]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification;
|
||||
|
||||
|
||||
query II
|
||||
SELECT * FROM range(1) WITH ORDINALITY AS _(ordinality);
|
||||
----
|
||||
0 1
|
||||
|
||||
|
||||
query II
|
||||
SELECT o,range FROM range(1) WITH ORDINALITY AS _(range,o);
|
||||
----
|
||||
1 0
|
||||
|
||||
|
||||
query II
|
||||
SELECT col = 'data/csv/customer.csv' OR col = 'data\csv\customer.csv', o FROM glob('data/csv/customer.csv') with ordinality AS _(col,o);
|
||||
----
|
||||
true 1
|
||||
|
||||
|
||||
query II
|
||||
SELECT my_range, my_ordinality FROM range(3) WITH ORDINALITY AS _(my_range, my_ordinality) ORDER BY my_range,my_ordinality;
|
||||
----
|
||||
0 1
|
||||
1 2
|
||||
2 3
|
||||
|
||||
|
||||
query II
|
||||
SELECT my_series, my_ordinality FROM generate_series(0,3,1) WITH ORDINALITY AS _(my_series,my_ordinality) ORDER BY my_series, my_ordinality;
|
||||
----
|
||||
0 1
|
||||
1 2
|
||||
2 3
|
||||
3 4
|
||||
|
||||
|
||||
query II
|
||||
SELECT * FROM repeat('x', 5) WITH ORDINALITY ORDER BY ordinality;
|
||||
----
|
||||
x 1
|
||||
x 2
|
||||
x 3
|
||||
x 4
|
||||
x 5
|
||||
|
||||
|
||||
query II
|
||||
SELECT * FROM repeat('x', 9) WITH ORDINALITY WHERE ordinality > 4 ORDER BY ordinality;
|
||||
----
|
||||
x 5
|
||||
x 6
|
||||
x 7
|
||||
x 8
|
||||
x 9
|
||||
|
||||
|
||||
statement ok
|
||||
CREATE OR REPLACE VIEW view_ordinality AS
|
||||
SELECT r AS range, o AS my_ordinality
|
||||
FROM range((select 10)) WITH ORDINALITY AS _(r, o)
|
||||
WHERE my_ordinality > 4
|
||||
ORDER BY range, my_ordinality;
|
||||
|
||||
|
||||
query II
|
||||
SELECT range, my_ordinality FROM view_ordinality ORDER BY range, my_ordinality;
|
||||
----
|
||||
4 5
|
||||
5 6
|
||||
6 7
|
||||
7 8
|
||||
8 9
|
||||
9 10
|
||||
|
||||
|
||||
query I
|
||||
WITH RECURSIVE ordinalityCTE AS (
|
||||
SELECT 1 AS ordinality
|
||||
UNION
|
||||
SELECT oCTE.ordinality + r.ordinality AS ordinality
|
||||
FROM
|
||||
ordinalityCTE AS oCTE,
|
||||
LATERAL range(1) WITH ORDINALITY AS r(range,ordinality)
|
||||
WHERE oCTE.ordinality < 5
|
||||
) SELECT ordinality FROM ordinalityCTE ORDER BY ordinality;
|
||||
----
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
|
||||
|
||||
query I
|
||||
WITH RECURSIVE ordinalityCTE AS (
|
||||
SELECT 1 AS ordinality
|
||||
UNION ALL
|
||||
SELECT oCTE.ordinality + r.ordinality AS ordinality
|
||||
FROM
|
||||
ordinalityCTE AS oCTE,
|
||||
LATERAL range(1) WITH ORDINALITY AS r(range,ordinality)
|
||||
WHERE oCTE.ordinality < 5
|
||||
) SELECT ordinality FROM ordinalityCTE ORDER BY ordinality;
|
||||
----
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
|
||||
|
||||
query II
|
||||
SELECT * FROM unnest([41,42,43]) WITH ORDINALITY;
|
||||
----
|
||||
41 1
|
||||
42 2
|
||||
43 3
|
||||
|
||||
|
||||
query II nosort read_csv_result
|
||||
SELECT column00, ordinality FROM read_csv('data/csv/customer.csv') WITH ORDINALITY ORDER BY ordinality,column00;
|
||||
|
||||
|
||||
query II nosort read_csv_result
|
||||
SELECT column00, row_number() OVER () AS ordinality FROM read_csv('data/csv/customer.csv') ORDER BY ordinality,column00;
|
||||
|
||||
|
||||
require parquet
|
||||
|
||||
|
||||
query II nosort parquet_result
|
||||
SELECT d,ordinality FROM read_parquet('data/parquet-testing/date.parquet') WITH ORDINALITY ORDER BY ordinality,d;
|
||||
|
||||
|
||||
query III nosort parquet_result
|
||||
SELECT d, row_number() OVER () AS ordinality FROM read_parquet('data/parquet-testing/date.parquet') ORDER BY ordinality,d;
|
||||
116
external/duckdb/test/sql/ordinality/ordinality_inout.test
vendored
Normal file
116
external/duckdb/test/sql/ordinality/ordinality_inout.test
vendored
Normal file
@@ -0,0 +1,116 @@
|
||||
# name: test/sql/ordinality/ordinality_inout.test
|
||||
# description: Tests with ordinality for correlated InOut-TVFs
|
||||
# group: [ordinality]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification;
|
||||
|
||||
|
||||
statement ok
|
||||
CREATE TABLE test(a int);
|
||||
|
||||
|
||||
statement ok
|
||||
INSERT INTO test VALUES (1),(3);
|
||||
|
||||
|
||||
query III
|
||||
SELECT a,my_range,my_ordinality FROM test AS t(a), LATERAL range(t.a) WITH ORDINALITY AS _(my_range,my_ordinality) ORDER BY a,my_range;
|
||||
----
|
||||
1 0 1
|
||||
3 0 1
|
||||
3 1 2
|
||||
3 2 3
|
||||
|
||||
|
||||
query III
|
||||
SELECT a,my_series,my_ordinality FROM test AS t(a), LATERAL generate_series(0,t.a,1) WITH ORDINALITY AS _(my_series,my_ordinality) ORDER BY t.a, my_series, my_ordinality;
|
||||
----
|
||||
1 0 1
|
||||
1 1 2
|
||||
3 0 1
|
||||
3 1 2
|
||||
3 2 3
|
||||
3 3 4
|
||||
|
||||
|
||||
query II
|
||||
WITH ordinalityCTE AS (
|
||||
SELECT r AS range, o AS my_ordinality
|
||||
FROM range((select 10)) WITH ORDINALITY AS _(r, o)
|
||||
WHERE my_ordinality > 4
|
||||
) SELECT range, my_ordinality FROM ordinalityCTE ORDER BY range, my_ordinality;
|
||||
----
|
||||
4 5
|
||||
5 6
|
||||
6 7
|
||||
7 8
|
||||
8 9
|
||||
9 10
|
||||
|
||||
|
||||
query I
|
||||
WITH RECURSIVE ordinalityCTE AS (
|
||||
SELECT 1 AS ordinality
|
||||
UNION
|
||||
SELECT oCTE.ordinality + r.ordinality AS ordinality
|
||||
FROM
|
||||
ordinalityCTE AS oCTE,
|
||||
LATERAL range(oCTE.ordinality) WITH ORDINALITY AS r(range,ordinality)
|
||||
WHERE oCTE.ordinality < 5
|
||||
) SELECT ordinality FROM ordinalityCTE ORDER BY ordinality;
|
||||
----
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
|
||||
|
||||
query I
|
||||
WITH RECURSIVE ordinalityCTE AS (
|
||||
SELECT 1 AS ordinality
|
||||
UNION ALL
|
||||
SELECT oCTE.ordinality + r.ordinality AS ordinality
|
||||
FROM
|
||||
ordinalityCTE AS oCTE,
|
||||
LATERAL range(oCTE.ordinality) WITH ORDINALITY AS r(range,ordinality)
|
||||
WHERE oCTE.ordinality <= 4
|
||||
) SELECT ordinality FROM ordinalityCTE order by ordinality;
|
||||
----
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
4
|
||||
5
|
||||
5
|
||||
5
|
||||
6
|
||||
6
|
||||
6
|
||||
7
|
||||
7
|
||||
8
|
||||
8
|
||||
|
||||
|
||||
statement ok
|
||||
CREATE TABLE unnest_test(a char[]);
|
||||
|
||||
|
||||
statement ok
|
||||
INSERT INTO unnest_test VALUES (['a1','a2','a3']),(['b1','b2']);
|
||||
|
||||
|
||||
query III
|
||||
SELECT * FROM unnest_test AS t, LATERAL unnest(t.a) WITH ORDINALITY AS _(unnest,my_ordinality) ORDER BY unnest, my_ordinality;
|
||||
----
|
||||
[a1, a2, a3] a1 1
|
||||
[a1, a2, a3] a2 2
|
||||
[a1, a2, a3] a3 3
|
||||
[b1, b2] b1 1
|
||||
[b1, b2] b2 2
|
||||
Reference in New Issue
Block a user