analyzer_compatibility_allow_compound_identifiers_in_unflatten_nested
SELECT a.b.c FROM table ARRAY JOIN a는 동작하지 않으며, SELECT a FROM table의 Nested a 결과에 a.b.c 컬럼이 포함되지 않습니다.
analyzer_compatibility_allow_non_aggregate_in_having
NOT_AN_AGGREGATE를 발생시키는 대신 비집계 AND 조건을 HAVING에서 WHERE로 이동시키는 기존 동작을 모방합니다. SQL 표준을 따르는 거부 동작이 기본값이며, 이는 이전 분석기(enable_analyzer = 0)에서 별다른 오류 없이 허용되던 쿼리를 위한 마이그레이션 보조 수단입니다. 집계, grouping 또는 비결정적 함수를 포함한 조건은 HAVING에 그대로 유지됩니다. 어떤 조건이든 윈도 함수 또는 상태 저장 함수(예: 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)에서는 t1.b = t2.b가 아니라 t1.a + 1 = t2.b를 기준으로 join이 수행됩니다).
analyzer_compatibility_prefer_alias_over_subcolumn
b.id와 같은 다중 부분 식별자가 별칭이 b인 테이블의 컬럼 id를 가리킬 수도 있고 다른 컬럼의 Tuple subcolumn b.id를 가리킬 수도 있는 경우, 별칭 접두사로 해석하는 방식(b의 컬럼 id)을 우선합니다. 기본적으로 분석기는 subcolumn을 우선합니다. 이전 분석기의 해석 방식과 일치시키려면 이 설정을 활성화하십시오.