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

Yu Xu commented on CALCITE-7267:
--------------------------------

Yes, from an Oracle dialect perspective, the CHAR_LENGTH function here should 
be converted to the LENGTH function. I understand this to be a case of Calcite 
generating incorrect SQL.

> CHAR_LENGTH function is not recognized in Oracle dialect
> --------------------------------------------------------
>
>                 Key: CALCITE-7267
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7267
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.41.0
>            Reporter: Yu Xu
>            Assignee: Yu Xu
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 1.42.0
>
>
> *CHAR_LENGTH* function is not support for Oracle, but LENGTH is supported. 
> refer: 
> [https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/LENGTH.html]
>  
> currently Oracle dialect in Calcite not convert CHAR_LENGTH to LENGTH 
> function, which would error as follow:
> execute sql1
> {code:java}
> select CHAR_LENGTH('aaa') {code}
> error message report:
> {code:java}
> ORA-00904: "CHAR_LENGTH": invalid identifier
> https://docs.oracle.com/error-help/db/ora-00904/
> 00904. 00000 - "%s: invalid identifier"
> *Cause: The identifier or column name entered was invalid.
> *Action: Ensure the following
> Error at Line: 1 Column: 6 {code}
>  
> execute sql2
> {code:java}
> select LENGTH('aaa')  {code}
> then result is ok:
> {code:java}
> 3
> {code}
>  
> so in Oracle dialect,  CHAR_LENGTH should convert to LENGTH function. such as 
> other dialect presto https://issues.apache.org/jira/browse/CALCITE-6643
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to