암시적(implicit) 관련 설정

암시적(implicit) 관련 설정

SELECT 키워드 없이 쿼리를 쓰거나, 최상위 레벨에서 FROM이 없는 쿼리가 특정 테이블에서 읽도록 하거나, 쿼리를 전체 트랜잭션으로 감싸는 등의 암시적 동작을 제어하는 설정들이에요. 주로 clickhouse-local에서 입력 데이터 처리를 위해 사용된답니다. 이 설정들은 system.settings 테이블에서 확인할 수 있고 소스 코드에서 자동 생성된 값들이에요.

출처: 문서

본문

이 설정들은 system.settings에서 확인할 수 있고, 소스 코드에서 자동 생성된 값들이에요.

implicit_select

앞의 SELECT 키워드 없이 간단한 SELECT 쿼리를 쓸 수 있게 해요. 계산기 스타일 사용을 간단하게 만들어 주죠. 예를 들어 1 + 2가 유효한 쿼리가 돼요. clickhouse-local에서는 기본적으로 활성화되어 있고 명시적으로 비활성화할 수 있어요.

implicit_table_at_top_level

비어 있지 않으면 최상위 레벨에서 FROM이 없는 쿼리가 system.one 대신 이 테이블에서 읽어요. 이는 clickhouse-local에서 입력 데이터 처리에 사용돼요.

이 설정은 사용자가 명시적으로 설정할 수 있지만 이런 종류의 사용을 위한 것은 아니에요. 서브쿼리는 이 설정의 영향을 받지 않아요(스칼라, FROM, IN 서브쿼리 모두).

UNION, INTERSECT, EXCEPT 체인의 최상위 레벨에 있는 SELECT는 괄호로 그룹화되었는지와 무관하게 균일하게 처리되고 이 설정의 영향을 받아요. 이 설정이 뷰와 분산 쿼리에 어떻게 영향을 미치는지는 명시되지 않았어요.

이 설정은 테이블 이름(그러면 테이블이 현재 데이터베이스에서 해석됨) 또는 database.table 형태의 정규화된 이름을 받아요. 데이터베이스 이름과 테이블 이름 모두 따옴표 없이 있어야 해요. 단순 식별자만 허용돼요.

implicit_transaction

활성화되고 이미 트랜잭션 안에 있지 않다면 쿼리를 전체 트랜잭션(begin + commit 또는 rollback)으로 감싸요.

더 알아보기 (Learn more)