You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: tests/fixtures/optimizer/qualify_columns.sql
+72Lines changed: 72 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1246,3 +1246,75 @@ SELECT piv.id AS id, piv.month AS month, piv.revenue AS revenue FROM (SELECT unp
1246
1246
# dialect: duckdb
1247
1247
SELECT u.* FROM unpivotable UNPIVOT(revenue FOR month IN (jan, feb)) UNPIVOT(headcount FOR region IN (north, south)) AS u;
1248
1248
SELECT u.id AS id, u.month AS month, u.revenue AS revenue, u.region AS region, u.headcount AS headcount FROM unpivotable AS unpivotable UNPIVOT(revenue FOR month IN (jan, feb)) UNPIVOT(headcount FOR region IN (north, south)) AS u;
WITH t AS (SELECT PARSE_JSON('{"id": 1}') AS data, 'file' AS filepath) SELECT t.$1:"id"::INT AS id, t.$2 AS filename FROM t;
1254
+
WITH T AS (SELECT PARSE_JSON('{"id": 1}') AS DATA, 'file' AS FILEPATH) SELECT CAST(GET_PATH(T.DATA, 'id') AS INT) AS ID, T.FILEPATH AS FILENAME FROM T AS T;
1255
+
1256
+
# title: resolve Snowflake positional reference to a quoted column
1257
+
# execute: false
1258
+
# dialect: snowflake
1259
+
WITH t AS (SELECT 1 AS "lower") SELECT t.$1 FROM t;
1260
+
WITH T AS (SELECT 1 AS "lower") SELECT T."lower" AS "lower" FROM T AS T;
1261
+
1262
+
# title: preserve ambiguous Snowflake positional reference and resolve unique one
1263
+
# execute: false
1264
+
# dialect: snowflake
1265
+
WITH t AS (SELECT 1 AS x, 2 AS x, 3 AS y) SELECT t.$2, t.$3 FROM t;
1266
+
WITH T AS (SELECT 1 AS X, 2 AS X, 3 AS Y) SELECT T.$2 AS _COL_0, T.Y AS Y FROM T AS T;
1267
+
1268
+
# title: preserve Snowflake positional reference with CTE column aliases
1269
+
# execute: false
1270
+
# dialect: snowflake
1271
+
WITH t("lower") AS (SELECT 1) SELECT t.$1 FROM t;
1272
+
WITH T AS (SELECT 1 AS "lower") SELECT T.$1 AS _COL_0 FROM T AS T;
1273
+
1274
+
# title: preserve Snowflake positional reference through UNPIVOT
1275
+
# execute: false
1276
+
# dialect: snowflake
1277
+
WITH t AS (SELECT 1 AS "SELECT", 2 AS a, 3 AS b) SELECT t.$1 FROM t UNPIVOT(v FOR k IN (a, b));
1278
+
WITH T AS (SELECT 1 AS "SELECT", 2 AS A, 3 AS B) SELECT T.$1 AS _COL_0 FROM T AS T UNPIVOT(V FOR K IN (A, B)) AS T;
1279
+
1280
+
# title: preserve Snowflake positional reference through aliased PIVOT
1281
+
# execute: false
1282
+
# dialect: snowflake
1283
+
WITH t AS (SELECT 1 AS id, 2 AS v, 'a' AS k) SELECT p.$2 FROM t PIVOT(SUM(v) FOR k IN ('a' AS "SELECT")) AS p;
1284
+
WITH T AS (SELECT 1 AS ID, 2 AS V, 'a' AS K) SELECT P.$2 AS _COL_0 FROM T AS T PIVOT(SUM(T.V) FOR T.K IN ('a' AS "SELECT")) AS P;
1285
+
1286
+
# title: retarget Snowflake positional reference to generated PIVOT alias
1287
+
# execute: false
1288
+
# dialect: snowflake
1289
+
WITH t AS (SELECT 1 AS id, 2 AS v, 'a' AS k) SELECT t.$2 FROM t PIVOT(SUM(v) FOR k IN ('a' AS a));
1290
+
WITH T AS (SELECT 1 AS ID, 2 AS V, 'a' AS K) SELECT _0.$2 AS _COL_0 FROM T AS T PIVOT(SUM(T.V) FOR T.K IN ('a' AS A)) AS _0;
1291
+
1292
+
# title: retarget Snowflake positional reference to final chained operator
1293
+
# execute: false
1294
+
# dialect: snowflake
1295
+
WITH t AS (SELECT 1 AS id, 2 AS v, 'a' AS k) SELECT t.$1 FROM t PIVOT(SUM(v) FOR k IN ('a' AS a)) UNPIVOT(v2 FOR k2 IN (a));
1296
+
WITH T AS (SELECT 1 AS ID, 2 AS V, 'a' AS K) SELECT T.$1 AS _COL_0 FROM T AS T PIVOT(SUM(T.V) FOR T.K IN ('a' AS A)) UNPIVOT(V2 FOR K2 IN (A)) AS T;
WITH t AS (SELECT 1 AS x), s AS (SELECT 1 AS id, 2 AS v, 'a' AS k) SELECT t.$1, p.$2 FROM t CROSS JOIN s PIVOT(SUM(v) FOR k IN ('a' AS a)) AS p;
1302
+
WITH T AS (SELECT 1 AS X), S AS (SELECT 1 AS ID, 2 AS V, 'a' AS K) SELECT T.X AS X, P.$2 AS _COL_1 FROM T AS T CROSS JOIN S AS S PIVOT(SUM(S.V) FOR S.K IN ('a' AS A)) AS P;
1303
+
1304
+
# title: preserve Snowflake positional reference from unknown source
1305
+
# execute: false
1306
+
# dialect: snowflake
1307
+
SELECT t.$1 FROM source AS t;
1308
+
SELECT T.$1 AS _COL_0 FROM SOURCE AS T;
1309
+
1310
+
# title: preserve Snowflake positional reference from star source
1311
+
# execute: false
1312
+
# dialect: snowflake
1313
+
WITH t AS (SELECT * FROM source) SELECT t.$1 FROM t;
1314
+
WITH T AS (SELECT * FROM SOURCE AS SOURCE) SELECT T.$1 AS _COL_0 FROM T AS T;
1315
+
1316
+
# title: preserve Snowflake positional reference with table alias column list
0 commit comments