analyzer_compatibility_allow_compound_identifiers_in_unflatten_nested
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
HAVING в предложение WHERE вместо выдачи NOT_AN_AGGREGATE. Отклонение в соответствии со стандартом используется по умолчанию; эта настройка помогает при миграции запросов, которые старый анализатор (enable_analyzer = 0) молча принимал. Конъюнкты, содержащие агрегатные функции, grouping или недетерминированные функции, остаются в HAVING. Если хотя бы один конъюнкт содержит window function или функцию с сохранением состояния (например, rowNumberInBlock), преобразование отключается для всего HAVING, что соответствует прежнему поведению PredicateExpressionsOptimizer. Эта настройка также игнорируется, если в GROUP BY используются WITH CUBE, WITH ROLLUP, WITH TOTALS или GROUPING SETS.
analyzer_compatibility_join_using_top_level_identifier
SELECT a + 1 AS b FROM t1 JOIN t2 USING (b) JOIN будет выполняться по условию t1.a + 1 = t2.b, а не t1.b = t2.b).
analyzer_compatibility_prefer_alias_over_subcolumn
b.id, может ссылаться либо на столбец id таблицы с псевдонимом b, либо на подстолбец b.id типа Tuple другого столбца, будет выбрана интерпретация с префиксом-псевдонимом (столбец id таблицы b). По умолчанию анализатор предпочитает подстолбец. Включите эту настройку, чтобы использовать правила разрешения имен старого анализатора.