【发布时间】:2015-11-25 07:45:17
【问题描述】:
我正在使用Apache Calcite 对不同的数据源执行查询。
我使用的模型文件是
inline: {
version: '1.0',
defaultSchema: 'sakila',
schemas: [
{
name: 'sakila',
type: 'custom',
factory: 'org.apache.calcite.adapter.jdbc.JdbcSchema$Factory',
operand: {
jdbcDriver: 'org.postgresql.Driver',
jdbcUrl: 'jdbc:postgresql://localhost:5432/sakila',
jdbcUser: 'postgres',
jdbcPassword: 'postgres'
}
}
]
}
而查询是
select
"sakila"."actor"."first_name" as "actor_first_name"
from
"sakila"."actor"
由于对表和列应用了双引号,上述查询不起作用。所以,我不得不删除引号,下面的查询工作正常。
select
sakila.actor.first_name as actor_first_name
from
sakila.actor
这里的问题是查询解析器不允许某些没有双引号的查询。在某些情况下,如上述,它不需要引号来正确执行。谁能解释一下为什么会这样?
【问题讨论】:
-
@Julian Hyde 您能否提供一些关于为什么有时而不是其他时间的见解?还有关于模型配置中的风味?我找不到任何有关不同风味含义的文档。谢谢。
-
@zinking 谢谢。我已经看到了。但仍然不清楚解析器。
标签: sql data-management apache-calcite