[ https://issues.apache.org/jira/browse/CALCITE-5248?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17617043#comment-17617043 ]
Jay Narale commented on CALCITE-5248: ------------------------------------- [~julianhyde] I have added some of the edge cases in the google doc.[https://docs.google.com/document/d/1bt_5CmRg97gh_j_lsVrnoEDn5N3TRNGeYcyX4uGD_0g/edit|here] What do you think? > Support Extended Column Aliasing > -------------------------------- > > Key: CALCITE-5248 > URL: https://issues.apache.org/jira/browse/CALCITE-5248 > Project: Calcite > Issue Type: New Feature > Reporter: Jay Narale > Priority: Major > Labels: pull-request-available > Time Spent: 20m > Remaining Estimate: 0h > > Based on the discussion here [1]. > The goal is to support exteneded column aliasing in where , on clause and > select List. An example is Teradata [2] > A few edge cases to be considered for proper semantics > 1. When SubQuery( maybe table) in from and Alias have the same name eg > {code:java} > SELECT c_customerId as c FROM ( SELECT c FROM table) WHERE c = 'test' {code} > {code:java} > SELECT trim(c_customer_name) as c FROM ( SELECT c FROM table) WHERE c = > 'test' {code} > Comments > In a database, the execution order is *FROM > WHERE > SELECT* so the > semantics should be that column in the subquery is given priority and a > filter is applied to that column > Behavior in Teradata > Consistent with the above, a Filter is applied to the SubQuery > 2. When a correlated column outside the query has the same name as the alias > TBD > Here I think the behavior should be identical to the behavior in OrderBy > > [1] - [https://lists.apache.org/thread/7zk5wqgsk64903w5mbt72pwjmsftx0kz] > [2] - > [https://docs.teradata.com/r/Teradata-Database-SQL-Fundamentals/June-2017/Basic-SQL-Syntax/Referencing-Object-Names-in-a-Request/Using-a-Column-Alias] > -- This message was sent by Atlassian Jira (v8.20.10#820010)