Faisal created CALCITE-7107: ------------------------------- Summary: Parsing clickhouse query that contains an array Key: CALCITE-7107 URL: https://issues.apache.org/jira/browse/CALCITE-7107 Project: Calcite Issue Type: Bug Reporter: Faisal
Hi I'm using the calcite-babel 1.40.0 lib and am doing some manipulation on sql for Clickhouse. Specifically we're using array functions in the sql - e.g. {code:java} "Select * from someTable where hasAll(anArrayColumn, ['value1', 'value2']" {code} When parsing this, calcite throws an exception relating to the "[" character. Clickhouse itself supports using this array construct ['value1', 'value2'] or using array('value1, 'value2') where "array" is case sensitive in clickhouse. If I send in: {code:java} "Select * from someTable where hasAll(anArrayColumn, array('value1, 'value2')" {code} for calcite parsing, then calcite detects "array" as a keyword and uppercases it by default which does not work in Clickhouse, resulting in {code:java} "SELECT * FROM someTable WHERE hasAll(anArrayColumn, ARRAY('value1', 'value2'))"{code} I am using: {code:java} final var conf= SqlParser.config().withCaseSensitive(true) .withUnquotedCasing(Casing.UNCHANGED).withQuotedCasing(Casing.UNCHANGED) .withQuoting(Quoting.DOUBLE_QUOTE).withParserFactory(SqlBabelParserImpl.FACTORY); final var sqlParser = SqlParser.create(sql, conf); final var sqlNode = sqlParser.parseStmt();{code} -- This message was sent by Atlassian Jira (v8.20.10#820010)