mirror of https://github.com/citusdata/citus.git
Create column aliases for shard tables in worker queries when requested
parent
f4d3b94e22
commit
2681231c98
|
@ -7134,6 +7134,12 @@ get_from_clause_item(Node *jtnode, Query *query, deparse_context *context)
|
||||||
/* Else print column aliases as needed */
|
/* Else print column aliases as needed */
|
||||||
get_column_alias_list(colinfo, context);
|
get_column_alias_list(colinfo, context);
|
||||||
}
|
}
|
||||||
|
/* check if column's are given aliases in distributed tables */
|
||||||
|
else if (colinfo->parentUsing != NIL)
|
||||||
|
{
|
||||||
|
Assert(colinfo->printaliases);
|
||||||
|
get_column_alias_list(colinfo, context);
|
||||||
|
}
|
||||||
|
|
||||||
/* Tablesample clause must go after any alias */
|
/* Tablesample clause must go after any alias */
|
||||||
if ((rteKind == CITUS_RTE_RELATION || rteKind == CITUS_RTE_SHARD) &&
|
if ((rteKind == CITUS_RTE_RELATION || rteKind == CITUS_RTE_SHARD) &&
|
||||||
|
|
|
@ -7151,6 +7151,12 @@ get_from_clause_item(Node *jtnode, Query *query, deparse_context *context)
|
||||||
/* Else print column aliases as needed */
|
/* Else print column aliases as needed */
|
||||||
get_column_alias_list(colinfo, context);
|
get_column_alias_list(colinfo, context);
|
||||||
}
|
}
|
||||||
|
/* check if column's are given aliases in distributed tables */
|
||||||
|
else if (colinfo->parentUsing != NIL)
|
||||||
|
{
|
||||||
|
Assert(colinfo->printaliases);
|
||||||
|
get_column_alias_list(colinfo, context);
|
||||||
|
}
|
||||||
|
|
||||||
/* Tablesample clause must go after any alias */
|
/* Tablesample clause must go after any alias */
|
||||||
if ((rteKind == CITUS_RTE_RELATION || rteKind == CITUS_RTE_SHARD) &&
|
if ((rteKind == CITUS_RTE_RELATION || rteKind == CITUS_RTE_SHARD) &&
|
||||||
|
|
|
@ -2690,3 +2690,62 @@ ORDER BY 1;
|
||||||
5 |
|
5 |
|
||||||
(4 rows)
|
(4 rows)
|
||||||
|
|
||||||
|
-- queries where column aliases are used
|
||||||
|
-- the query is not very complex. join is given an alias with aliases
|
||||||
|
-- for each output column
|
||||||
|
SELECT k1
|
||||||
|
FROM (
|
||||||
|
SELECT k1, random()
|
||||||
|
FROM (users_table JOIN events_table USING (user_id)) k (k1, k2, k3)) l
|
||||||
|
ORDER BY k1
|
||||||
|
LIMIT 5;
|
||||||
|
k1
|
||||||
|
----
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
(5 rows)
|
||||||
|
|
||||||
|
SELECT DISTINCT k1
|
||||||
|
FROM (
|
||||||
|
SELECT k1, random()
|
||||||
|
FROM (users_table JOIN events_table USING (user_id)) k (k1, k2, k3)) l
|
||||||
|
ORDER BY k1
|
||||||
|
LIMIT 5;
|
||||||
|
k1
|
||||||
|
----
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
(5 rows)
|
||||||
|
|
||||||
|
SELECT x1, x3, value_2
|
||||||
|
FROM (users_table u FULL JOIN events_table e ON (u.user_id = e.user_id)) k(x1, x2, x3, x4, x5)
|
||||||
|
ORDER BY 1, 2, 3
|
||||||
|
LIMIT 5;
|
||||||
|
x1 | x3 | value_2
|
||||||
|
----+----+---------
|
||||||
|
1 | 1 | 1
|
||||||
|
1 | 1 | 1
|
||||||
|
1 | 1 | 1
|
||||||
|
1 | 1 | 2
|
||||||
|
1 | 1 | 2
|
||||||
|
(5 rows)
|
||||||
|
|
||||||
|
SELECT x1, x3, value_2
|
||||||
|
FROM (users_table u FULL JOIN events_table e USING (user_id)) k(x1, x2, x3, x4, x5)
|
||||||
|
ORDER BY 1, 2, 3
|
||||||
|
LIMIT 5;
|
||||||
|
x1 | x3 | value_2
|
||||||
|
----+----+---------
|
||||||
|
1 | 1 | 1
|
||||||
|
1 | 1 | 1
|
||||||
|
1 | 1 | 1
|
||||||
|
1 | 1 | 2
|
||||||
|
1 | 1 | 2
|
||||||
|
(5 rows)
|
||||||
|
|
||||||
|
|
|
@ -2400,3 +2400,31 @@ FROM
|
||||||
USING (user_id)
|
USING (user_id)
|
||||||
GROUP BY a.user_id
|
GROUP BY a.user_id
|
||||||
ORDER BY 1;
|
ORDER BY 1;
|
||||||
|
|
||||||
|
-- queries where column aliases are used
|
||||||
|
-- the query is not very complex. join is given an alias with aliases
|
||||||
|
-- for each output column
|
||||||
|
SELECT k1
|
||||||
|
FROM (
|
||||||
|
SELECT k1, random()
|
||||||
|
FROM (users_table JOIN events_table USING (user_id)) k (k1, k2, k3)) l
|
||||||
|
ORDER BY k1
|
||||||
|
LIMIT 5;
|
||||||
|
|
||||||
|
SELECT DISTINCT k1
|
||||||
|
FROM (
|
||||||
|
SELECT k1, random()
|
||||||
|
FROM (users_table JOIN events_table USING (user_id)) k (k1, k2, k3)) l
|
||||||
|
ORDER BY k1
|
||||||
|
LIMIT 5;
|
||||||
|
|
||||||
|
SELECT x1, x3, value_2
|
||||||
|
FROM (users_table u FULL JOIN events_table e ON (u.user_id = e.user_id)) k(x1, x2, x3, x4, x5)
|
||||||
|
ORDER BY 1, 2, 3
|
||||||
|
LIMIT 5;
|
||||||
|
|
||||||
|
SELECT x1, x3, value_2
|
||||||
|
FROM (users_table u FULL JOIN events_table e USING (user_id)) k(x1, x2, x3, x4, x5)
|
||||||
|
ORDER BY 1, 2, 3
|
||||||
|
LIMIT 5;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue