Hi, Juan Pan: You may find the logic in *UnregisterDriver#connect(String url, Properties info)* It just parses the key-value pairs in url's prefix and adds into the copy of "info". Therefore, I think the below config *properties.put(CalciteConnecti**onProperty.LEX, Lex.MYSQL); * should be aligned with your first usage: *properties.put("lex", "MYSQL"); *
Juan Pan <panj...@apache.org> 于2019年9月12日周四 下午2:23写道: > > > > > > > Hi Feng, > > > > > Thanks for your promote reply. :) > > > > > Lex is just what i want. But when i tried to use it, i encountered another > problem. > > > > > The first usage is ok, but the second one doesn’t work. ThoughLex are used > in different methods, the result will be same, i think. Do i misunderstand? > Or is the second one wrong usage? > > > > > The first usage: > > > > > CONNECTION_URL = "jdbc:calcite:lex=MYSQL;model=xxxx" > > try (Connection connection = DriverManager.getConnection(CONNECTION_URL); > > Statement statement = connection.createStatement()) { > > // do some things > > } > > > > > The second usage: > > > > > CONNECTION_URL = "jdbc:calcite:model=" > > Properties properties = new Properties(); > > properties.put(CalciteConnectionProperty.LEX, Lex.MYSQL); > > try (Connection connection = DriverManager.getConnection(CONNECTION_URL, > properties); > > Statement statement = connection.createStatement()) { > > // do some things > > } > > > > > Thanks again for your kindness, and waiting for u. :) > > > > > Regards, > > Trista > > > > > > | | > Juan Pan > | > | > panj...@apache.org > Juan Pan(Trista), Apache ShardingSphere > | > > > On 09/11/2019 20:23,Feng Zhu<wellfeng...@gmail.com> wrote: > Hi, JuanPan, > You can refer to Lex, which decides how identifiers are quoted, whether > they are converted to upper-case > org.apache.calcite.config.Lex > > Regards > > Juan Pan <panj...@apache.org> 于2019年9月11日周三 下午8:05写道: > > > > Hi, all the committers and contributors, > > > This email is for your help. > > > I am now deep in Apache Calcite, and it’s great. Now, i want to know > whether it is possible that unquoted identifiers are not implicitly > converted to upper case? > > > For example, a SQL is `select name from test`, when it was executed, an > exception is thrown: > > > org.apache.calcite.sql.validate.SqlValidatorException: Object 'TEST' not > found within 'memory'; did you mean 'test’? > > > I wonder there is any setting that can make `name` and `test` recognized > correctly by Calcite without double quotes. > > > Thanks for your help. > > > Regards, > Trista > ------------------------------------------------------- > Email:panj...@apache.org > Juan Pan(Trista) Apache ShardingSphere > > >