[ https://issues.apache.org/jira/browse/KYLIN-3475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Shaofeng SHI reassigned KYLIN-3475: ----------------------------------- Assignee: Ian Hu Fix Version/s: v2.5.0 > Make calcite case handling and quoting method more configurable. > ---------------------------------------------------------------- > > Key: KYLIN-3475 > URL: https://issues.apache.org/jira/browse/KYLIN-3475 > Project: Kylin > Issue Type: Improvement > Components: Query Engine > Reporter: Ian Hu > Assignee: Ian Hu > Priority: Major > Fix For: v2.5.0 > > > >> Do you know whether Calcite supports that? If Calcite already supports it > >> with some parameter, Kylin can expose that as a configuration. Yes, > >> Calcite support to customize some sql handle feature by connection > >> properties. We can customize it by provide an Properties when use jdbc's > >> DriverManager.getConnection(url, extraProperties). Here is my commit (with > >> UT) to achieve this > >> [https://github.com/ian4hu/kylin/commit/88ee638fb4c8b55b089294107ad361ec3fc6dae9] > >> For short lookup see QueryConnection.getConnection(project)@ > >> [https://github.com/apache/kylin/blob/25b300c1f654561e561565ebf35c4e0e93ae0a04/query/src/main/java/org/apache/kylin/query/QueryConnection.java#L51] > >> the key is the info variable. > > Background (from mailing list > [http://mail-archives.apache.org/mod_mbox/kylin-dev//201807.mbox/%3C4247fe2a.634d.164e995a707.Coremail.hu2008yinxiang%40163.com%3E] > ): > We use kylin in our BI system as a sub-query engine. we met some problems in > our use case like bellow. > # Our visual design tool use source table schema as metadata, and the source > table column is lower case or mixed case, and visual tool generate SQL for > kylin query. > # Kylin execute sql and return result > # we use a parser to parse result and assembly it to entities (like ORM > engine did) > but the problem is that kylin now always casting the column to UPPER case, > that break our parser and whe can not change that behavior by configure > kylin. like "select 1 as value_ALIAS" we always get the column named > "VALUE_ALIAS" instead of "value_ALIAS" from Kylin. > > although we can use 'select 1 as "value_ALIAS"' (with double-qouted alias) > and it will be better if we can configure the quoting method. > > I would like contribute features to make the query engine is more flexible > # First of all, make the case handling and quoting method is configurable by > kylin.properties, that a global configuration. > # Second make case handling and quoting method available by JDBC connection > url parameters or connection properties by > DriverManager.getConnection(url-with-parameters, extra-properties) > -- This message was sent by Atlassian JIRA (v7.6.3#76005)