[ 
https://issues.apache.org/jira/browse/CALCITE-6967?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yu Xu updated CALCITE-6967:
---------------------------
    Summary: Unparsing STARTS_WITH/ENDS_WITH/BIT functions is incorrect for the 
Clickhouse dialect  (was: STARTSWITH/ENDSWITH can not parse correctly in 
ClickHouse)

> Unparsing STARTS_WITH/ENDS_WITH/BIT functions is incorrect for the Clickhouse 
> dialect
> -------------------------------------------------------------------------------------
>
>                 Key: CALCITE-6967
>                 URL: https://issues.apache.org/jira/browse/CALCITE-6967
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.39.0
>            Reporter: Yu Xu
>            Assignee: Yu Xu
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.40.0
>
>
> In ClickHouse select STARTWITH('aa', 'a'); would convert to
> {code:java}
> select STARTS_WITH('aa', 'a'); {code}
> this is not work and error out:
> {code:java}
> Code: 46. DB::Exception: Received from localhost:9000. DB::Exception: 
> Function with name `starts_with` does not exist. In scope SELECT 
> starts_with('aa', 'a'). Maybe you meant: ['startsWith']. (UNKNOWN_FUNCTION) 
> {code}
> at the same time, startswith also not work(lower/upper):
> {code:java}
> select startswith('aa', 'a');
> >Code: 46. DB::Exception: Received from localhost:9000. DB::Exception: 
> >Function with name `startswith` does not exist. In scope SELECT 
> >startswith('aa', 'a'). Maybe you meant: ['startsWith']. 
> >(UNKNOWN_FUNCTION){code}
> {code:java}
> select STARTSWITH('aa', 'a');
> >Code: 46. DB::Exception: Received from localhost:9000. DB::Exception: 
> >Function with name `STARTSWITH` does not exist. In scope SELECT 
> >STARTSWITH('aa', 'a'). Maybe you meant: ['startsWith']. (UNKNOWN_FUNCTION)
> {code}
> it is the same with endswith function, this is a bit strange because 
> startsWith/endsWith is need camel case and other string functions not 
> need(such as char_length/CHAR_LENGTH both work well in ClickHouse).
> we can refer to the document:
> [https://clickhouse.com/docs/sql-reference/functions/string-functions#startswith]
>  
> {code:java}
> select startsWith('aa', 'a');
> >1 {code}
> [https://clickhouse.com/docs/sql-reference/functions/string-functions#endswith]
> {code:java}
> select endsWith('aa', 'a');
> >1 {code}
> so we need adapt it with convert startswith to startsWith and endswith to 
> endswith.



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

Reply via email to