Skip to content

Commit 511885a

Browse files
committed
resolve alias issue
1 parent c5af4d9 commit 511885a

2 files changed

Lines changed: 5 additions & 0 deletions

File tree

core/query_parser.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,10 @@ def parse_expression(self, expr, aliases: dict = None) -> Node:
309309
aliases = {}
310310

311311
if isinstance(expr, str):
312+
# Alias reference: if a later clause uses a SELECT alias token
313+
# (e.g. ORDER BY dept_name), reuse the aliased expression node.
314+
if expr in aliases:
315+
return aliases[expr]
312316
# Column reference
313317
if '.' in expr:
314318
parts = expr.split('.', 1)

data/asts.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1351,6 +1351,7 @@ def _ast_query_42() -> QueryNode:
13511351
where_condition = OperatorNode(where_123, "AND", strpos_cond)
13521352
where_clause = WhereNode([where_condition])
13531353
# GROUP BY 1, 2
1354+
# TODO: replace it by actual column nodes
13541355
group_by_clause = GroupByNode([LiteralNode(1), LiteralNode(2)])
13551356
return QueryNode(
13561357
_select=select_clause,

0 commit comments

Comments
 (0)