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

Kevin Risden updated CALCITE-1926:
----------------------------------
    Labels: Postgres pull-request-available  (was: Postgres)

> Function names are unparsed quoted while PostgreSQL can only handle unquoted 
> function names
> -------------------------------------------------------------------------------------------
>
>                 Key: CALCITE-1926
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1926
>             Project: Calcite
>          Issue Type: Bug
>          Components: jdbc-adapter
>    Affects Versions: 1.13.0
>            Reporter: Muhammad Gelbana
>            Priority: Major
>              Labels: Postgres, pull-request-available
>
> While working on a Drill plugin, Calcite unparsed a *JdbcRel* node and 
> produced the following PostgreSQL query
> {code:sql}
> SELECT "TEMP( Test)( 535799381)( 0)"
> FROM (SELECT "STRPOS"("str1", 'BI') = 1 AS "TEMP( Test)( 535799381)( 0)"
> FROM "TestV1"."Calcs") AS "t"
> GROUP BY "TEMP( Test)( 535799381)( 0)"
> {code}
> The query fails due to a parsing exception, the reason is that the *STRPOS* 
> function name is quoted using double quotes. I tried the query manually 
> without quoting the function name and it executed successfully.
> I debugged through Calcite and found that the [this 
> method|https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/sql/SqlUtil.java#L262]
>  unparses the function name as a plain identifier which leads to the [quoting 
> of the function 
> name|https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/sql/SqlIdentifier.java?deDup474625=1#L287]
>  if the dialect supports it.
> Drill uses Calcite v1.4 but as I compared it with the master branch, I found 
> them identical.
> I haven't tried that with custom functions yet.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to