Skip to main content
이 설정은 system.settings에서 확인할 수 있으며, 소스 코드를 기반으로 자동 생성됩니다.

analyzer_compatibility_allow_compound_identifiers_in_unflatten_nested

Nested에 복합 식별자를 추가할 수 있도록 합니다. 이 설정을 사용하면 쿼리 결과가 변경되므로 compatibility 설정입니다. 비활성화되면 SELECT a.b.c FROM table ARRAY JOIN a는 동작하지 않으며, SELECT a FROM tableNested 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

projection에서 JOIN USING의 식별자를 해석하도록 강제합니다(예: 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을 우선합니다. 이전 분석기의 해석 방식과 일치시키려면 이 설정을 활성화하십시오.
마지막 수정일 2026년 7월 23일