[ 
https://issues.apache.org/jira/browse/PHOENIX-2476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15035092#comment-15035092
 ] 

Julian Hyde commented on PHOENIX-2476:
--------------------------------------

Amusing to see a similar discussion in the Drupal forums 6 years ago: 
https://www.drupal.org/node/809698  

tl;dr: {{||}} is the standard. MySQL and SQL Server don't support it because of 
their own issues. (MySQL uses it for OR!) {{CONCAT}} is a reasonable 
alternative for compatibility, but there are some databases that don't support 
{{CONCAT}}, so it's not universal either. And unlike {{||}} it is not standard.

In my opinion, there is some merit to supporting {{CONCAT}} but it's not high 
priority.

> Recognize '+' and CONCAT as string concatenation operators
> ----------------------------------------------------------
>
>                 Key: PHOENIX-2476
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2476
>             Project: Phoenix
>          Issue Type: Improvement
>    Affects Versions: 4.6.0
>            Reporter: Kevin Liew
>            Priority: Minor
>              Labels: newbie, phoenix, string
>
> Phoenix uses '||' (Oracle, ANSII) as the string concatenation operator symbol 
> and does not recognize '+'
> (SQL Server) or 'concat' (which is used for portability because it is 
> supported by most databases)
> If we try to use '+' we get an error from the queryserver
> {noformat}Type mismatch. VARCHAR for (COLUMN1 + KEYCOLUMN){noformat}
> The '+' 
> operator is not implemented for VARCHAR so it would be an improvement to 
> implement the standard function for that '+' symbol
> If we try to use 'concat' we get an error:
> {noformat}org.apache.phoenix.schema.FunctionNotFoundException: ERROR 6001 
> (42F01): Function undefined. functionName=[CONCAT]{noformat}
> 'concat' is often used for cross-database compatibility. Most databases 
> provide this function



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to