Calcite SQL 言語リファレンス ( https://calcite.apache.org/docs/reference.html ) には次のように書かれています。
Calcite では、参照されるオブジェクトの名前に一致する識別子は大文字と小文字が区別されます。ただし、引用符で囲まれていない識別子は、一致する前に暗黙的に大文字に変換されることに注意してください。参照するオブジェクトが名前に引用符で囲まれていない識別子を使用して作成された場合、その名前も大文字に変換されます。
オブジェクトの作成とクエリの両方で大文字と小文字を区別しないようにする構成はありますか? たとえば、次の名前のテーブルがある場合、SQL クエリでcountries
識別子を受け入れるようにクエリ バリデータを構成することは可能ですか?COUNTRIES
countries
次のようSqlParser
に大文字と小文字を区別するように構成しようとしました。false
Frameworks.newConfigBuilder().parserConfig(SqlParser.configBuilder().setCaseSensitive(false).build()).build()
PlannerImpl
次に、このフレームワーク構成を使用済みに渡しましたSqlToRelConverter
が、大文字と小文字を区別するために識別子を引用符で囲まないと、SQL バリデータは失敗します。