Skip to main content
これらの設定は system.settings で確認でき、ソース から自動生成されています。

analyzer_compatibility_allow_compound_identifiers_in_unflatten_nested

Nested に複合 Identifier を追加できるようにします。これはクエリ結果が変わるため、互換性設定です。無効にすると、SELECT a.b.c FROM table ARRAY JOIN a は動作せず、SELECT a FROM table の結果にも a.b.c カラムは Nested a に含まれません。

analyzer_compatibility_allow_non_aggregate_in_having

有効にすると、アナライザは NOT_AN_AGGREGATE を返す代わりに、非集約の AND 条件を HAVING から WHERE に移動する従来の動作を再現します。デフォルトでは標準準拠の拒否動作が使われます。これは、古いアナライザ (enable_analyzer = 0) で暗黙的に受け入れられていたクエリのための移行支援です。集約関数、grouping、または非決定論的関数を含む条件は HAVING に残ります。いずれかの条件にウィンドウ関数または stateful function (たとえば rowNumberInBlock) が含まれている場合、書き換えは HAVING 全体で無効になり、従来の PredicateExpressionsOptimizer の動作と一致します。また、GROUP BYWITH CUBEWITH ROLLUPWITH TOTALS、または GROUPING SETS を使用している場合、この設定は無視されます。

analyzer_compatibility_join_using_top_level_identifier

JOIN USING 内のIdentifierを projection から解決するよう強制します (たとえば、SELECT a + 1 AS b FROM t1 JOIN t2 USING (b) では、t1.b = t2.b ではなく t1.a + 1 = t2.b で JOIN が実行されます) 。

analyzer_compatibility_prefer_alias_over_subcolumn

b.id のような複合Identifierが、エイリアス b を持つテーブルのカラム id としても、別のカラムの Tuple サブカラム b.id としても解釈できる場合は、エイリアスのプレフィックスとしての解釈 (b のカラム id) を優先します。デフォルトでは、アナライザはサブカラムを優先します。以前のアナライザの解決に合わせるには、これを有効にします。
最終更新日 2026年7月23日