Zoltan Haindrich updated HIVE-14580:
    Attachment: HIVE-14580.1.patch

I didn't wanted to "really" introduce a full new operator - and possibly open 
bug possibilities because of concat/|| implementation differences; so I looked 
into creating an alias for the concat() udf; which already has optimization & 
vectorization support.

my options were:

* purely antlr based - I failed with this approach
* minor antlr change + ast rewrite - choosen path

for the rewrite i've seen a few places where I can add this...but only 
{{SemanticAnalyzer.processPositionAlias}} looked promising - there are other 
places but I think {{TypeCheckProcFactory}} would be a bit late..and adding 
this anywhere to optimization related rewrites would be inappropriate because 
this is not an optimization...

I've done a minor refactor and splitted {{processPositionAlias}} from it's walk 
logic - which I'm using to dispatch the concatenate rewrites too.

[~pxiong] what do you think about it?

> Introduce || operator
> ---------------------
>                 Key: HIVE-14580
>                 URL: https://issues.apache.org/jira/browse/HIVE-14580
>             Project: Hive
>          Issue Type: Sub-task
>          Components: SQL
>            Reporter: Ashutosh Chauhan
>            Assignee: Zoltan Haindrich
>         Attachments: HIVE-14580.1.patch
> Functionally equivalent to concat() udf. But standard allows usage of || for 
> string concatenations.

This message was sent by Atlassian JIRA

Reply via email to