Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

function_* 会话设置

这些设置可在 system.settings 中查看,并根据源代码自动生成。

function_base58_max_input_size

类型
UInt64
默认值
10000
版本历史
版本默认值注释
26.610000默认情况下,这项新设置会将 `base58Encode`、`base58Decode` 和 `tryBase58Decode` 的输入大小限制为 10 KB(其转换复杂度随输入长度呈二次增长)。兼容性值 `0` 会禁用此限制,恢复此前可接受任意大小输入的行为。

函数 base58Encodebase58DecodetryBase58Decode 的单个输入值最大大小,以字节为单位。通用的 base58 转换复杂度随输入长度呈二次增长,因此单个较大的值可能会运行很长时间。base58 适用于短数据 (密钥、哈希、地址) ,因此默认的 10 KB 是一个较为宽松的安全阈值。对于更大的输入,base58Encodebase58Decode 会抛出 TOO_LARGE_STRING_SIZE,而 tryBase58Decode 会返回空字符串。值 0 会禁用此限制 (即引入此设置之前的行为) 。线性的 base32base64 函数不受影响。

function_date_trunc_return_type_behavior

类型
UInt64
默认值
0
版本历史
版本默认值注释
25.70新增设置,以保留 dateTrunc 函数的旧行为
25.40将 dateTrunc 函数在 DateTime64/Date32 参数下的结果类型更改为始终返回 DateTime64/Date32,而不受时间单位影响,以确保负值结果正确

允许更改 dateTrunc 函数返回结果类型的行为。

可能的值:

  • 0 - 当第二个参数为 DateTime64/Date32 时,返回类型将始终为 DateTime64/Date32,与第一个参数中的时间单位无关。
  • 1 - 对于 Date32,结果始终为 Date。对于 DateTime64,当时间单位为 second 及以上时,结果为 DateTime

function_implementation

为特定目标或变体选择函数实现方式 (Experimental) 。如果留空,则启用所有实现。

function_locate_has_mysql_compatible_argument_order

类型
Bool
默认值
1
版本历史
版本默认值注释
24.31增强与 MySQL 的 locate 函数的兼容性。

控制函数 locate 的参数顺序。

可能的值:

  • 0 — 函数 locate 接受参数 (haystack, needle[, start_pos])
  • 1 — 函数 locate 接受参数 (needle, haystack, [, start_pos]) (兼容 MySQL 的行为)

function_range_max_elements_in_block

类型
UInt64
默认值
500000000

设置函数 range 生成数据量的安全阈值。定义该函数每个数据块可生成的最大值数量 (即一个块中每一行数组大小的总和) 。

可能的值:

  • 正整数。

另请参见

function_sleep_max_microseconds_per_block

类型
UInt64
默认值
3000000
版本历史
版本默认值注释
23.73000000在之前的版本中,3 秒的最大休眠时间仅适用于 `sleep`,不适用于 `sleepEachRow` 函数。在新版本中,我们引入了这一设置。如果将 compatibility 设置为旧版本,则会完全禁用该限制。

函数 sleep 在每个块中允许休眠的最大微秒数。如果用户调用时传入更大的值,就会抛出异常。这是一个安全阈值。

function_visible_width_behavior

类型
UInt64
默认值
1
版本历史
版本默认值注释
24.11我们将 `visibleWidth` 的默认行为调整得更精确

visibleWidth 行为的版本。0 - 仅统计码点数量;1 - 正确统计零宽字符和组合字符,将全角字符按两个字符计数,估算制表符宽度,并统计删除字符。

Navigation