Jira issue created: https://issues.apache.org/jira/browse/KYLIN-3475 and the pr is here https://github.com/apache/kylin/pull/180
在 2018-07-30 17:03:50,"ShaoFeng Shi" <[email protected]> 写道: >Awesome! Could you please create a JIRA with this feature, and then make a >PR? Thanks! > >2018-07-30 16:21 GMT+08:00 胡继续 <[email protected]>: > >> >> 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/25b300c1f654561e561565ebf35c4e >> 0e93ae0a04/query/src/main/java/org/apache/kylin/query/ >> QueryConnection.java#L51 >> the key is the info variable. >> >> >> >> >> >> >> >> >> 在 2018-07-30 15:41:50,"ShaoFeng Shi" <[email protected]> 写道: >> >Do you know whether Calcite supports that? If Calcite already supports it >> >with some parameter, Kylin can expose that as a configuration. >> > >> >BTW, which ORM framework are you running with Kylin? Can it generate SQL >> >with double quoted? As I know some commercial BI tool like Tableau, >> >MicroStrategy, they generate very standard SQL: every table and column are >> >quoted with "". >> > >> >2018-07-30 13:47 GMT+08:00 胡继续 <[email protected]>: >> > >> >> Hi Shaofeng >> >> >> >> >> >> As I mentioned, if our use a ORM framework that not mantainced by >> >> ourselves, if there is an option for us to adjust the kylin parser >> >> behavior, it would be better. >> >> >> >> >> >> Truely the behavior is more attached to Apache Calcite, but Kylin is >> not >> >> allow us to customize it. >> >> >> >> >> >> I think we should give the choice for users. >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> At 2018-07-30 13:34:14, "ShaoFeng Shi" <[email protected]> wrote: >> >> >Hi Hu, >> >> > >> >> >We welcome community contributions, but I'm not sure whether this >> behavior >> >> >is in Kylin or not. I think it is in Apache Calcite, which is the SQL >> >> >parser of Kylin. (I don't remember Kylin has the logic to change the >> >> column >> >> >name) >> >> > >> >> >Usually, the column/table name in the database is case-insensitive; >> Column >> >> >"Col1" and "COL1" are the same. The application should aware that. >> >> Besides, >> >> >as you mentioned, if you use double-quote for the column name, it will >> >> keep >> >> >the original case in the result set; This is the recommended way I >> think. >> >> > >> >> >So this sounds like an issue already has the solution. Just my >> comments; >> >> >Please share more insights if you have. >> >> > >> >> >2018-07-30 13:07 GMT+08:00 胡继续 <[email protected]>: >> >> > >> >> >> Hello guys >> >> >> >> >> >> >> >> >> We use kylin in our BI system as a sub-query engine. we met some >> >> problems >> >> >> in our use case like bellow. >> >> >> 1. 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. >> >> >> 2. Kylin execute sql and return result >> >> >> 3. 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 >> >> >> 1. First of all, make the case handling and quoting method is >> >> configurable >> >> >> by kylin.properties, that a global configuration. >> >> >> 2. Second make case handling and quoting method available by JDBC >> >> >> connection url parameters or connection properties by >> >> >> DriverManager.getConnection(url-with-parameters, extra-properties) >> >> >> >> >> >> >> >> >> Are the features above is matter to contribute? Please give me >> feedback >> >> >> and I will make a contribution. >> >> > >> >> > >> >> > >> >> > >> >> >-- >> >> >Best regards, >> >> > >> >> >Shaofeng Shi 史少锋 >> >> >> > >> > >> > >> >-- >> >Best regards, >> > >> >Shaofeng Shi 史少锋 >> > > > >-- >Best regards, > >Shaofeng Shi 史少锋
