hyperscan 정규식 최대 관련 설정

hyperscan 정규식 최대 관련 설정

hyperscan 다중-매치 함수에서 각 정규식의 길이와 모든 정규식의 총 길이를 제한하는 설정들이에요. 이 설정들은 system.settings 테이블에서 확인할 수 있고 소스 코드에서 자동 생성된 값들이에요.

출처: 문서

본문

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

max_hyperscan_regexp_length

hyperscan 다중-매치 함수에서 각 정규식의 최대 길이를 정의해요.

가능한 값:

  • 양의 정수.
  • 0 — 길이가 제한되지 않아요.

예시:

쿼리:

SELECT multiMatchAny('abcd', ['ab','bcd','c','d']) SETTINGS max_hyperscan_regexp_length = 3;

결과:

┌─multiMatchAny('abcd', ['ab', 'bcd', 'c', 'd'])─┐
│                                              1 │
└────────────────────────────────────────────────┘

쿼리:

SELECT multiMatchAny('abcd', ['ab','bcd','c','d']) SETTINGS max_hyperscan_regexp_length = 2;

결과:

Exception: Regexp length too large.

함께 보기:

  • max_hyperscan_regexp_total_length

max_hyperscan_regexp_total_length

각 hyperscan 다중-매치 함수에서 모든 정규식의 최대 총 길이를 설정해요.

가능한 값:

  • 양의 정수.
  • 0 — 길이가 제한되지 않아요.

예시:

쿼리:

SELECT multiMatchAny('abcd', ['a','b','c','d']) SETTINGS max_hyperscan_regexp_total_length = 5;

결과:

┌─multiMatchAny('abcd', ['a', 'b', 'c', 'd'])─┐
│                                           1 │
└─────────────────────────────────────────────┘

쿼리:

SELECT multiMatchAny('abcd', ['ab','bc','c','d']) SETTINGS max_hyperscan_regexp_total_length = 5;

결과:

Exception: Total regexp lengths too large.

함께 보기:

  • max_hyperscan_regexp_length

더 알아보기 (Learn more)