Skip to content

Commit

Permalink
Add subquery aliases to make PG14 happy
Browse files Browse the repository at this point in the history
  • Loading branch information
JelteF committed Jan 21, 2025
1 parent c6ac243 commit 392c28a
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 22 deletions.
22 changes: 11 additions & 11 deletions test/regression/expected/read_functions.out
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ SELECT r['jsoncol'][1], r['arraycol'][2] FROM read_parquet('../../data/indexable
SELECT jsoncol[1], arraycol[2] FROM (
SELECT r['jsoncol'] jsoncol, r['arraycol'] arraycol
FROM read_parquet('../../data/indexable.parquet') r
);
) q;
jsoncol | arraycol
---------+----------
"d" | 22
Expand All @@ -56,7 +56,7 @@ SELECT r['arraycol'][1:2] FROM read_parquet('../../data/indexable.parquet') r;
SELECT arraycol[1:2] FROM (
SELECT r['arraycol'] arraycol
FROM read_parquet('../../data/indexable.parquet') r
);
) q;
arraycol
----------
{11,22}
Expand All @@ -67,7 +67,7 @@ SELECT * FROM (
SELECT 'something' as prefix, *, 'something else' as postfix
FROM read_parquet('../../data/iris.parquet') r
LIMIT 1
);
) q;
prefix | sepal.length | sepal.width | petal.length | petal.width | variety | postfix
-----------+--------------+-------------+--------------+-------------+---------+----------------
something | 5.1 | 3.5 | 1.4 | 0.2 | Setosa | something else
Expand All @@ -83,7 +83,7 @@ SELECT r FROM (
SELECT 'something' as prefix, *, 'something else' as postfix
FROM read_parquet('../../data/iris.parquet') r
LIMIT 1
);
) q;
prefix | sepal.length | sepal.width | petal.length | petal.width | variety | postfix
-----------+--------------+-------------+--------------+-------------+---------+----------------
something | 5.1 | 3.5 | 1.4 | 0.2 | Setosa | something else
Expand All @@ -95,7 +95,7 @@ SELECT prefix, r FROM (
SELECT 'something' as prefix, *, 'something else' as postfix
FROM read_parquet('../../data/iris.parquet') r
LIMIT 1
);
) q;
prefix | sepal.length | sepal.width | petal.length | petal.width | variety | postfix
-----------+--------------+-------------+--------------+-------------+---------+----------------
something | 5.1 | 3.5 | 1.4 | 0.2 | Setosa | something else
Expand All @@ -105,7 +105,7 @@ SELECT prefix, r, postfix FROM (
SELECT 'something' as prefix, *, 'something else' as postfix
FROM read_parquet('../../data/iris.parquet') r
LIMIT 1
);
) q;
prefix | sepal.length | sepal.width | petal.length | petal.width | variety | postfix
-----------+--------------+-------------+--------------+-------------+---------+----------------
something | 5.1 | 3.5 | 1.4 | 0.2 | Setosa | something else
Expand All @@ -119,7 +119,7 @@ SELECT r, postfix FROM (
SELECT 'something' as prefix, *, 'something else' as postfix
FROM read_parquet('../../data/iris.parquet') r
LIMIT 1
);
) q;
prefix | sepal.length | sepal.width | petal.length | petal.width | variety | postfix | postfix
-----------+--------------+-------------+--------------+-------------+---------+----------------+----------------
something | 5.1 | 3.5 | 1.4 | 0.2 | Setosa | something else | something else
Expand All @@ -130,7 +130,7 @@ SELECT postfix, r, prefix FROM (
SELECT 'something' as prefix, *, 'something else' as postfix
FROM read_parquet('../../data/iris.parquet') r
LIMIT 1
);
) q;
postfix | prefix | sepal.length | sepal.width | petal.length | petal.width | variety | postfix | prefix
----------------+-----------+--------------+-------------+--------------+-------------+---------+----------------+-----------
something else | something | 5.1 | 3.5 | 1.4 | 0.2 | Setosa | something else | something
Expand Down Expand Up @@ -169,7 +169,7 @@ SELECT * FROM (
FROM read_parquet('../../data/iris.parquet') r,
read_parquet('../../data/unsigned_types.parquet') r2
LIMIT 1
);
) q;
prefix | sepal.length | sepal.width | petal.length | petal.width | variety | utinyint | usmallint | uinteger | postfix
-----------+--------------+-------------+--------------+-------------+---------+----------+-----------+------------+----------------
something | 5.1 | 3.5 | 1.4 | 0.2 | Setosa | 255 | 65535 | 4294967295 | something else
Expand Down Expand Up @@ -241,14 +241,14 @@ SELECT r['column00'] AS r FROM read_csv('../../data/web_page.csv') r limit 1;
-- be executed. To avoid that we simply don't rename a subscript expression
-- inside a subquery, and only do so in the outermost SELECT list (aka
-- targetlist).
SELECT * FROM (SELECT r['column00'] FROM read_csv('../../data/web_page.csv') r limit 1);
SELECT * FROM (SELECT r['column00'] FROM read_csv('../../data/web_page.csv') r limit 1) q;
r
---
1
(1 row)

-- If you give it a different alias then that alias is propegated though.
SELECT * FROM (SELECT r['column00'] AS col1 FROM read_csv('../../data/web_page.csv') r limit 1);
SELECT * FROM (SELECT r['column00'] AS col1 FROM read_csv('../../data/web_page.csv') r limit 1) q;
col1
------
1
Expand Down
22 changes: 11 additions & 11 deletions test/regression/sql/read_functions.sql
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,21 @@ SELECT r['jsoncol'][1], r['arraycol'][2] FROM read_parquet('../../data/indexable
SELECT jsoncol[1], arraycol[2] FROM (
SELECT r['jsoncol'] jsoncol, r['arraycol'] arraycol
FROM read_parquet('../../data/indexable.parquet') r
);
) q;

-- And the same for slice subscripts
SELECT r['arraycol'][1:2] FROM read_parquet('../../data/indexable.parquet') r;
SELECT arraycol[1:2] FROM (
SELECT r['arraycol'] arraycol
FROM read_parquet('../../data/indexable.parquet') r
);
) q;

-- Subqueries correctly expand *, in case of multiple columns.
SELECT * FROM (
SELECT 'something' as prefix, *, 'something else' as postfix
FROM read_parquet('../../data/iris.parquet') r
LIMIT 1
);
) q;

-- NOTE: A single "r" is equivalent to a *. The prefix and postfix columns are
-- not explicitely selected, but still show up in the result. This is
Expand All @@ -44,20 +44,20 @@ SELECT r FROM (
SELECT 'something' as prefix, *, 'something else' as postfix
FROM read_parquet('../../data/iris.parquet') r
LIMIT 1
);
) q;

-- ... but if you manually add the expected columns then they are merged into
-- the new star expansion.
SELECT prefix, r FROM (
SELECT 'something' as prefix, *, 'something else' as postfix
FROM read_parquet('../../data/iris.parquet') r
LIMIT 1
);
) q;
SELECT prefix, r, postfix FROM (
SELECT 'something' as prefix, *, 'something else' as postfix
FROM read_parquet('../../data/iris.parquet') r
LIMIT 1
);
) q;

-- This requires the prefix columns to be there though. If the prefix columns
-- are not there the postfix columns don't get merged into the new star
Expand All @@ -67,14 +67,14 @@ SELECT r, postfix FROM (
SELECT 'something' as prefix, *, 'something else' as postfix
FROM read_parquet('../../data/iris.parquet') r
LIMIT 1
);
) q;

-- If you swap them around, they will get duplicated though. For the
SELECT postfix, r, prefix FROM (
SELECT 'something' as prefix, *, 'something else' as postfix
FROM read_parquet('../../data/iris.parquet') r
LIMIT 1
);
) q;

-- Joining two subqueries a single * works as expected.
SELECT *
Expand All @@ -101,7 +101,7 @@ SELECT * FROM (
FROM read_parquet('../../data/iris.parquet') r,
read_parquet('../../data/unsigned_types.parquet') r2
LIMIT 1
);
) q;

-- read_csv

Expand Down Expand Up @@ -138,10 +138,10 @@ SELECT r['column00'] AS r FROM read_csv('../../data/web_page.csv') r limit 1;
-- be executed. To avoid that we simply don't rename a subscript expression
-- inside a subquery, and only do so in the outermost SELECT list (aka
-- targetlist).
SELECT * FROM (SELECT r['column00'] FROM read_csv('../../data/web_page.csv') r limit 1);
SELECT * FROM (SELECT r['column00'] FROM read_csv('../../data/web_page.csv') r limit 1) q;

-- If you give it a different alias then that alias is propegated though.
SELECT * FROM (SELECT r['column00'] AS col1 FROM read_csv('../../data/web_page.csv') r limit 1);
SELECT * FROM (SELECT r['column00'] AS col1 FROM read_csv('../../data/web_page.csv') r limit 1) q;

-- Only simple string literals are supported as column names
SELECT r[NULL] FROM read_csv('../../data/web_page.csv') r limit 1;
Expand Down

0 comments on commit 392c28a

Please sign in to comment.