这些设置可在 system.settings 中找到,并根据 源代码 自动生成。
max_hyperscan_regexp_length
类型
UInt64
默认值
0
定义 hyperscan multi-match 函数 中每个正则表达式的最大长度。
可能的值:
- 正整数。
- 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
类型
UInt64
默认值
0
设置每个hyperscan multi-match 函数中所有正则表达式总长度的上限。
可能的值:
- 正整数。
- 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.另请参阅