Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

function_* session settings

These settings are available in system.settings and are autogenerated from source.

function_base58_max_input_size

Type
UInt64
Default
10000
Version history
VersionDefault valueComment
26.610000New setting that limits the input size of `base58Encode`, `base58Decode` and `tryBase58Decode` (whose conversion is quadratic in the input length) to 10 KB by default. The compatibility value `0` disables the limit, restoring the previous behavior of accepting arbitrarily large inputs.

Maximum size, in bytes, of a single input value for the functions base58Encode, base58Decode and tryBase58Decode. The generic base58 conversion is quadratic in the input length, so a single large value can run for a very long time. base58 is meant for short data (keys, hashes, addresses), so the default of 10 KB is a generous safety threshold. base58Encode and base58Decode throw TOO_LARGE_STRING_SIZE for larger inputs, while tryBase58Decode returns an empty string. A value of 0 disables the limit (the behavior before this setting was introduced). The linear base32 and base64 functions are unaffected.

function_date_trunc_return_type_behavior

Type
UInt64
Default
0
Version history
VersionDefault valueComment
25.70Add new setting to preserve old behaviour of dateTrunc function
25.40Change the result type for dateTrunc function for DateTime64/Date32 arguments to DateTime64/Date32 regardless of time unit to get correct result for negative values

Allows to change the behaviour of the result type of dateTrunc function.

Possible values:

  • 0 - When the second argument is DateTime64/Date32 the return type will be DateTime64/Date32 regardless of the time unit in the first argument.
  • 1 - For Date32 the result is always Date. For DateTime64 the result is DateTime for time units second and higher.

function_locate_has_mysql_compatible_argument_order

Type
Bool
Default
1
Version history
VersionDefault valueComment
24.31Increase compatibility with MySQL's locate function.

Controls the order of arguments in function locate.

Possible values:

  • 0 — Function locate accepts arguments (haystack, needle[, start_pos]).
  • 1 — Function locate accepts arguments (needle, haystack, [, start_pos]) (MySQL-compatible behavior)

function_range_max_elements_in_block

Type
UInt64
Default
500000000

Sets the safety threshold for data volume generated by function range. Defines the maximum number of values generated by function per block of data (sum of array sizes for every row in a block).

Possible values:

  • Positive integer.

See Also

function_sleep_max_microseconds_per_block

Type
UInt64
Default
3000000
Version history
VersionDefault valueComment
23.73000000In previous versions, the maximum sleep time of 3 seconds was applied only for `sleep`, but not for `sleepEachRow` function. In the new version, we introduce this setting. If you set compatibility with the previous versions, we will disable the limit altogether.

Maximum number of microseconds the function sleep is allowed to sleep for each block. If a user called it with a larger value, it throws an exception. It is a safety threshold.

function_visible_width_behavior

Type
UInt64
Default
1
Version history
VersionDefault valueComment
24.11We changed the default behavior of `visibleWidth` to be more precise

The version of visibleWidth behavior. 0 - only count the number of code points; 1 - correctly count zero-width and combining characters, count full-width characters as two, estimate the tab width, count delete characters.

Navigation