should be it

This commit is contained in:
2025-10-24 19:21:19 -05:00
parent a4b23fc57c
commit f09560c7b1
14047 changed files with 3161551 additions and 1 deletions

View 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;

View 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;

View 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