Julian Hyde commented on CALCITE-3986:

I agree. We should eliminate "AS abc" if column "abc" would have had that alias 

The rules for deriving aliases of expressions are DBMS-specific, so we will 
have to be careful.

Also we'll have to be careful about case sensitivity. "SELECT abc AS "abc" FROM 
t" would be redundant on PostgreSQL but not on Oracle. BigQuery has 
particularly has particularly arcane rules about case-sensitivity - tables and 
columns have different case sensitivity rules, and I don't even know about 
table aliases and column aliases - so special care required there.

> Provide config option to omit assigning an alias that is identical to its 
> identifier.
> -------------------------------------------------------------------------------------
>                 Key: CALCITE-3986
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3986
>             Project: Calcite
>          Issue Type: Improvement
>            Reporter: Drew Schmitt
>            Priority: Minor
> The current alias assignment logic with the SqlValidator config option 
> identifierExpansion() set to true will eagerly try to choose an alias, even 
> if the alias name ends up being the same as the identifier itself. For 
> example, it will assign the alias "foo" for the table "foo".
> It's nice to have alias assignment, but making it identical to the identifier 
> doesn't always provide a whole lot of value and can make queries more verbose 
> than they need to be.
> Suggest we add another SqlValidator config option (defaulted to the current 
> behavior) to allow a caller to disable alias assignment in the cases that it 
> would be identical to the identifier.

This message was sent by Atlassian Jira

Reply via email to