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
ここでの問題は、二重引用符がない場合、クエリ パーサーが一部のクエリを許可しないことです。また、上記のようないくつかのケースでは、適切に実行するために引用符を必要としません。正確にそうである理由について、誰かが洞察を与えることができますか?