additional_result_filter / additional_table_filters 세션 설정
additional_result_filter / additional_table_filters 세션 설정
이 설정들은 SELECT 쿼리 결과나 특정 테이블을 읽은 뒤에 추가 필터를 적용하는 방법을 제공해요. 쿼리에 필터 조건을 덧붙여 결과물을 걸러내고 싶을 때 사용해요. ClickHouse 소스 코드에서 자동으로 생성된 세션 설정 문서예요.
출처: 문서
본문
이 설정들은 system.settings에서 사용할 수 있으며 소스 코드에서 자동으로 생성돼요.
additional_result_filter
SELECT 쿼리 결과에 적용할 추가 필터 표현식이에요. 이 설정은 어떤 서브쿼리에도 적용되지 않아요.
예시
INSERT INTO table_1 VALUES (1, 'a'), (2, 'bb'), (3, 'ccc'), (4, 'dddd');
SElECT * FROM table_1;
┌─x─┬─y────┐
│ 1 │ a │
│ 2 │ bb │
│ 3 │ ccc │
│ 4 │ dddd │
└───┴──────┘
SELECT *
FROM table_1
SETTINGS additional_result_filter = 'x != 2'
┌─x─┬─y────┐
│ 1 │ a │
│ 3 │ ccc │
│ 4 │ dddd │
└───┴──────┘
additional_table_filters
지정된 테이블에서 읽은 뒤에 적용되는 추가 필터 표현식이에요.
예시
INSERT INTO table_1 VALUES (1, 'a'), (2, 'bb'), (3, 'ccc'), (4, 'dddd');
SELECT * FROM table_1;
┌─x─┬─y────┐
│ 1 │ a │
│ 2 │ bb │
│ 3 │ ccc │
│ 4 │ dddd │
└───┴──────┘
SELECT *
FROM table_1
SETTINGS additional_table_filters = {'table_1': 'x != 2'}
┌─x─┬─y────┐
│ 1 │ a │
│ 3 │ ccc │
│ 4 │ dddd │
└───┴──────┘
SQL SECURITY DEFINER 또는 NONE으로 뷰를 통해 읽히는 테이블을 키로 하는 필터는 뷰 내부에서 적용되지 않아요.