analyzer_compatibility_allow_compound_identifiers_in_unflatten_nested
SELECT a.b.c FROM table ARRAY JOIN a ne fonctionne pas, et SELECT a FROM table n’inclut pas la colonne a.b.c dans le résultat Nested a.
analyzer_compatibility_allow_non_aggregate_in_having
HAVING vers WHERE au lieu de lever NOT_AN_AGGREGATE. Le rejet conforme à la norme est le comportement par défaut ; il s’agit d’une aide à la migration pour les requêtes qui étaient acceptées silencieusement par l’ancien analyseur (enable_analyzer = 0). Les conjuncts contenant des fonctions d’agrégation, grouping ou des fonctions non déterministes restent dans HAVING. Si un conjunct contient une window function ou une fonction avec état (par exemple rowNumberInBlock), la réécriture est désactivée pour l’ensemble de HAVING, conformément au comportement legacy de PredicateExpressionsOptimizer. Le paramètre est également ignoré lorsque GROUP BY utilise WITH CUBE, WITH ROLLUP, WITH TOTALS ou GROUPING SETS.
analyzer_compatibility_join_using_top_level_identifier
SELECT a + 1 AS b FROM t1 JOIN t2 USING (b), la jointure sera effectuée sur t1.a + 1 = t2.b, plutôt que sur t1.b = t2.b).
analyzer_compatibility_prefer_alias_over_subcolumn
b.id peut faire référence soit à la colonne id d’une table ayant pour alias b, soit à une sous-colonne Tuple b.id d’une autre colonne, privilégiez l’interprétation avec préfixe d’alias (colonne id de b). Par défaut, l’analyseur privilégie la sous-colonne. Activez ce paramètre pour retrouver la résolution de l’ancien analyseur.