should be it
This commit is contained in:
23
external/duckdb/test/sql/subquery/table/test_aliasing.test
vendored
Normal file
23
external/duckdb/test/sql/subquery/table/test_aliasing.test
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
# name: test/sql/subquery/table/test_aliasing.test
|
||||
# description: Aliasing and aggregation in subqueries
|
||||
# group: [table]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
create table a(i integer)
|
||||
|
||||
statement ok
|
||||
insert into a values (42)
|
||||
|
||||
query I
|
||||
select * from (select i as j from a group by j) sq1 where j = 42
|
||||
----
|
||||
42
|
||||
|
||||
query I
|
||||
select * from (select i as j from a group by i) sq1 where j = 42
|
||||
----
|
||||
42
|
||||
|
||||
27
external/duckdb/test/sql/subquery/table/test_nested_table_subquery.test_slow
vendored
Normal file
27
external/duckdb/test/sql/subquery/table/test_nested_table_subquery.test_slow
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
# name: test/sql/subquery/table/test_nested_table_subquery.test_slow
|
||||
# description: Nested table subquery
|
||||
# group: [table]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
CREATE TABLE test (i INTEGER, j INTEGER)
|
||||
|
||||
statement ok
|
||||
INSERT INTO test VALUES (3, 4), (4, 5), (5, 6);
|
||||
|
||||
query IIIIII
|
||||
SELECT * FROM (SELECT i, j FROM (SELECT j AS i, i AS j FROM (SELECT j AS i, i AS j FROM test) AS a) AS a) AS a, (SELECT i+1 AS r,j FROM test) AS b, test WHERE a.i=b.r AND test.j=a.i ORDER BY 1;
|
||||
----
|
||||
4 5 4 4 3 4
|
||||
5 6 5 5 4 5
|
||||
|
||||
# 100 nesting levels
|
||||
query I
|
||||
SELECT i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM (SELECT i + 1 AS i FROM test) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a) AS a;
|
||||
----
|
||||
103
|
||||
104
|
||||
105
|
||||
|
||||
13
external/duckdb/test/sql/subquery/table/test_subquery_union.test
vendored
Normal file
13
external/duckdb/test/sql/subquery/table/test_subquery_union.test
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
# name: test/sql/subquery/table/test_subquery_union.test
|
||||
# description: UNIONS of subqueries
|
||||
# group: [table]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
query I
|
||||
select * from (select 42) sq1 union all select * from (select 43) sq2;
|
||||
----
|
||||
42
|
||||
43
|
||||
|
||||
54
external/duckdb/test/sql/subquery/table/test_table_subquery.test
vendored
Normal file
54
external/duckdb/test/sql/subquery/table/test_table_subquery.test
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
# name: test/sql/subquery/table/test_table_subquery.test
|
||||
# description: Table subquery
|
||||
# group: [table]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
CREATE TABLE test (i INTEGER, j INTEGER)
|
||||
|
||||
statement ok
|
||||
INSERT INTO test VALUES (3, 4), (4, 5), (5, 6);
|
||||
|
||||
query II
|
||||
SELECT * FROM (SELECT i, j AS d FROM test ORDER BY i) AS b;
|
||||
----
|
||||
3 4
|
||||
4 5
|
||||
5 6
|
||||
|
||||
# check column names for simple projections and aliases
|
||||
query I
|
||||
SELECT b.d FROM (SELECT i * 2 + j AS d FROM test) AS b;
|
||||
----
|
||||
10
|
||||
13
|
||||
16
|
||||
|
||||
# join with subqueries
|
||||
query IIII
|
||||
SELECT a.i,a.j,b.r,b.j FROM (SELECT i, j FROM test) AS a INNER JOIN (SELECT i+1 AS r,j FROM test) AS b ON a.i=b.r ORDER BY 1;
|
||||
----
|
||||
4 5 4 4
|
||||
5 6 5 5
|
||||
|
||||
# check that * is in the correct order
|
||||
query IIIIII
|
||||
SELECT * FROM (SELECT i, j FROM test) AS a, (SELECT i+1 AS r,j FROM test) AS b, test WHERE a.i=b.r AND test.j=a.i ORDER BY 1;
|
||||
----
|
||||
4 5 4 4 3 4
|
||||
5 6 5 5 4 5
|
||||
|
||||
# subquery group cols are visible
|
||||
query R
|
||||
select sum(x) from (select i as x from test group by i) sq;
|
||||
----
|
||||
12.000000
|
||||
|
||||
# subquery group aliases are visible
|
||||
query R
|
||||
select sum(x) from (select i+1 as x from test group by x) sq;
|
||||
----
|
||||
15.000000
|
||||
|
||||
45
external/duckdb/test/sql/subquery/table/test_unnamed_subquery.test
vendored
Normal file
45
external/duckdb/test/sql/subquery/table/test_unnamed_subquery.test
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
# name: test/sql/subquery/table/test_unnamed_subquery.test
|
||||
# description: Test unnamed subqueries
|
||||
# group: [table]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
query I
|
||||
SELECT a FROM (SELECT 42 a)
|
||||
----
|
||||
42
|
||||
|
||||
query II
|
||||
SELECT * FROM (SELECT 42 a), (SELECT 43 b)
|
||||
----
|
||||
42 43
|
||||
|
||||
query II
|
||||
SELECT * FROM (VALUES (42, 43))
|
||||
----
|
||||
42 43
|
||||
|
||||
# longer chains
|
||||
query IIII
|
||||
SELECT * FROM (SELECT 42 a), (SELECT 43 b), (SELECT 44 c), (SELECT 45 d)
|
||||
----
|
||||
42 43 44 45
|
||||
|
||||
# nested
|
||||
query IIII
|
||||
SELECT * FROM (FROM (SELECT 42 a), (SELECT 43 b)) JOIN (SELECT 44 c) ON (true) JOIN (SELECT 45 d) ON (true)
|
||||
----
|
||||
42 43 44 45
|
||||
|
||||
# names are predictable
|
||||
query II
|
||||
SELECT * FROM (SELECT unnamed_subquery.a FROM (SELECT 42 a)), (SELECT unnamed_subquery.b FROM (SELECT 43 b))
|
||||
----
|
||||
42 43
|
||||
|
||||
# names are predictable
|
||||
query II
|
||||
SELECT unnamed_subquery.a, unnamed_subquery2.b FROM (SELECT 42 a), (SELECT 43 b)
|
||||
----
|
||||
42 43
|
||||
Reference in New Issue
Block a user