Muhammad Gelbana created CALCITE-1926: -----------------------------------------
Summary: 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 Assignee: Julian Hyde 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 (v6.4.14#64029)