Calcite SQL 语言参考 ( https://calcite.apache.org/docs/reference.html ) 说明如下:
在 Calcite 中,将标识符与引用对象的名称匹配是区分大小写的。但是请记住,不带引号的标识符在匹配之前会隐式转换为大写,如果它所引用的对象是使用不带引号的标识符作为其名称创建的,那么它的名称也将被转换为大写。
是否有一些配置可以使对象创建和查询不区分大小写?例如,如果我有一个名为的表,是否countries
可以将查询验证器配置为接受标识符COUNTRIES
或countries
在 SQL 查询中接受标识符?
我尝试将以下配置SqlParser
为区分大小写false
:
Frameworks.newConfigBuilder().parserConfig(SqlParser.configBuilder().setCaseSensitive(false).build()).build()
然后将此框架配置传递给PlannerImpl
使用的 in SqlToRelConverter
,但是当我没有将标识符括在引号中以强制大小写时,SQL 验证器仍然失败。