> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ajustes de sesión de function_*

> Ajustes de sesión de ClickHouse en el grupo generado function_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Tipo</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Predeterminado</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Modificable sin reiniciar
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Estas opciones de configuración están disponibles en [system.settings](/docs/es/reference/system-tables/settings) y se generan automáticamente a partir del [código fuente](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="function_base58_max_input_size">
  ## function\_base58\_max\_input\_size
</div>

<SettingsInfoBlock type="UInt64" default_value="10000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "10000"},{"label": "Nueva configuración que limita de forma predeterminada a 10 KB el tamaño de entrada de `base58Encode`, `base58Decode` y `tryBase58Decode` (cuya conversión es cuadrática respecto a la longitud de la entrada). El valor de compatibilidad `0` desactiva el límite y restablece el comportamiento anterior, que aceptaba entradas arbitrariamente grandes."}]}]} />

Tamaño máximo, en bytes, de un único valor de entrada para las funciones `base58Encode`, `base58Decode` y `tryBase58Decode`. La conversión genérica `base58` es cuadrática respecto a la longitud de la entrada, por lo que un único valor grande puede tardar mucho tiempo en procesarse. `base58` está pensado para datos cortos (claves, hash, direcciones), por lo que el valor predeterminado de 10 KB es un generoso umbral de seguridad. `base58Encode` y `base58Decode` lanzan `TOO_LARGE_STRING_SIZE` con entradas mayores, mientras que `tryBase58Decode` devuelve una cadena vacía. Un valor de `0` desactiva el límite (el comportamiento anterior a la introducción de esta configuración). Las funciones lineales `base32` y `base64` no se ven afectadas.

<div id="function_date_trunc_return_type_behavior">
  ## function\_date\_trunc\_return\_type\_behavior
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.7"},{"label": "0"},{"label": "Se añade una nueva configuración para preservar el comportamiento anterior de la función dateTrunc"}]}, {"id": "row-2","items": [{"label": "25.4"},{"label": "0"},{"label": "Se cambia el tipo de resultado de la función dateTrunc para argumentos DateTime64\/Date32 a DateTime64\/Date32, independientemente de la unidad de tiempo, para obtener el resultado correcto con valores negativos"}]}]} />

Permite cambiar el comportamiento del tipo de retorno de la función `dateTrunc`.

Valores posibles:

* 0 - Cuando el segundo argumento es `DateTime64/Date32`, el tipo de retorno será `DateTime64/Date32` independientemente de la unidad de tiempo del primer argumento.
* 1 - Para `Date32`, el resultado siempre es `Date`. Para `DateTime64`, el resultado es `DateTime` para las unidades de tiempo `second` y superiores.

<div id="function_implementation">
  ## function\_implementation
</div>

Elija la implementación de la función para un objetivo o variante específicos (experimental). Si se deja vacío, se habilitan todas.

<div id="function_locate_has_mysql_compatible_argument_order">
  ## function\_locate\_has\_mysql\_compatible\_argument\_order
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1"},{"label": "Aumenta la compatibilidad con la función locate de MySQL."}]}]} />

Controla el orden de los argumentos de la función [locate](/docs/es/reference/functions/regular-functions/string-search-functions#locate).

Valores posibles:

* 0 — La función `locate` acepta los argumentos `(haystack, needle[, start_pos])`.
* 1 — La función `locate` acepta los argumentos `(needle, haystack, [, start_pos])` (comportamiento compatible con MySQL)

<div id="function_range_max_elements_in_block">
  ## function\_range\_max\_elements\_in\_block
</div>

<SettingsInfoBlock type="UInt64" default_value="500000000" />

Establece el umbral de seguridad para el volumen de datos generado por la función [range](/docs/es/reference/functions/regular-functions/array-functions#range). Define el número máximo de valores que la función puede generar por cada bloque de datos (la suma de los tamaños de los arrays para cada fila de un bloque).

Valores posibles:

* Entero positivo.

**Véase también**

* [`max_block_size`](/docs/es/reference/settings/session-settings/max#max_block_size)
* [`min_insert_block_size_rows`](/docs/es/reference/settings/session-settings/min-insert#min_insert_block_size_rows)

<div id="function_sleep_max_microseconds_per_block">
  ## function\_sleep\_max\_microseconds\_per\_block
</div>

<SettingsInfoBlock type="UInt64" default_value="3000000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.7"},{"label": "3000000"},{"label": "En versiones anteriores, el tiempo máximo de espera de 3 segundos se aplicaba solo a `sleep`, pero no a la función `sleepEachRow`. En la nueva versión, introducimos esta configuración. Si establece la compatibilidad con versiones anteriores, desactivaremos por completo este límite."}]}]} />

Número máximo de microsegundos que la función `sleep` puede esperar por cada bloque. Si un usuario la llama con un valor mayor, lanza una excepción. Es un umbral de seguridad.

<div id="function_visible_width_behavior">
  ## function\_visible\_width\_behavior
</div>

<SettingsInfoBlock type="UInt64" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "1"},{"label": "Cambiamos el comportamiento predeterminado de `visibleWidth` para que fuera más preciso"}]}]} />

Versión del comportamiento de `visibleWidth`. 0: solo cuenta el número de puntos de código; 1: cuenta correctamente los caracteres de ancho cero y los caracteres combinables, cuenta los caracteres de ancho completo como dos, estima el ancho de la tabulación y cuenta los caracteres de borrado.
