0

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

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

4

1 に答える 1