> ## 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.

# paramètres de session function_*

> Paramètres de session ClickHouse du groupe généré 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
  }}>Type</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Par défaut</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Modifiable sans redémarrage
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Ces paramètres sont disponibles dans [system.settings](/docs/fr/reference/system-tables/settings) et sont générés automatiquement à partir du [code source](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": "Nouveau paramètre limitant par défaut à 10 KB la taille de la valeur d’entrée pour `base58Encode`, `base58Decode` et `tryBase58Decode` (dont la conversion est quadratique par rapport à la longueur de l’entrée). La valeur de compatibilité `0` désactive cette limite et rétablit le comportement précédent, qui acceptait des entrées de taille arbitraire."}]}]} />

Taille maximale, en octets, d’une valeur d’entrée unique pour les fonctions `base58Encode`, `base58Decode` et `tryBase58Decode`. La conversion générique `base58` est quadratique par rapport à la longueur de l’entrée ; une seule valeur volumineuse peut donc prendre très longtemps à être traitée. `base58` est conçu pour des données courtes (clés, hashes, adresses) ; la valeur par défaut de 10 KB constitue donc un seuil de sécurité large. `base58Encode` et `base58Decode` lèvent l’exception `TOO_LARGE_STRING_SIZE` pour les entrées plus volumineuses, tandis que `tryBase58Decode` renvoie une chaîne vide. Une valeur de `0` désactive la limite (c’était le comportement avant l’introduction de ce paramètre). Les fonctions linéaires `base32` et `base64` ne sont pas affectées.

<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": "Ajouter un nouveau paramètre pour préserver l'ancien comportement de la fonction dateTrunc"}]}, {"id": "row-2","items": [{"label": "25.4"},{"label": "0"},{"label": "Modifier le type de résultat de la fonction dateTrunc pour les arguments DateTime64\/Date32 en DateTime64\/Date32, quelle que soit l'unité de temps, afin d'obtenir un résultat correct pour les valeurs négatives"}]}]} />

Permet de modifier le comportement du type de résultat renvoyé par la fonction `dateTrunc`.

Valeurs possibles :

* 0 - Lorsque le deuxième argument est `DateTime64/Date32`, le type de retour est `DateTime64/Date32`, quelle que soit l'unité de temps du premier argument.
* 1 - Pour `Date32`, le résultat est toujours `Date`. Pour `DateTime64`, le résultat est `DateTime` pour les unités de temps `second` et supérieures.

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

Choisissez l’implémentation de fonction pour une cible spécifique ou pour Variant (expérimental). Si ce champ est vide, elles sont toutes activées.

<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": "Améliore la compatibilité avec la fonction locate de MySQL."}]}]} />

Contrôle l'ordre des arguments de la fonction [locate](/docs/fr/reference/functions/regular-functions/string-search-functions#locate).

Valeurs possibles :

* 0 — La fonction `locate` accepte les arguments `(haystack, needle[, start_pos])`.
* 1 — La fonction `locate` accepte les arguments `(needle, haystack, [, start_pos])` (comportement compatible avec MySQL)

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

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

Définit le seuil de sécurité du volume de données généré par la fonction [range](/docs/fr/reference/functions/regular-functions/array-functions#range). Indique le nombre maximal de valeurs générées par la fonction par bloc de données (somme des tailles des tableaux pour chaque ligne d’un bloc).

Valeurs possibles :

* Entier positif.

**Voir aussi**

* [`max_block_size`](/docs/fr/reference/settings/session-settings/max#max_block_size)
* [`min_insert_block_size_rows`](/docs/fr/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": "Dans les versions précédentes, le temps d’attente maximal de 3 secondes s’appliquait uniquement à `sleep`, mais pas à la fonction `sleepEachRow`. Dans la nouvelle version, nous introduisons ce paramètre. Si vous définissez `compatibility` avec les versions précédentes, nous désactiverons complètement la limite."}]}]} />

Nombre maximal de microsecondes pendant lesquelles la fonction `sleep` peut être en attente pour chaque bloc. Si un utilisateur l’appelle avec une valeur supérieure, cela lève une exception. Il s’agit d’un seuil de sécurité.

<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": "Nous avons modifié le comportement par défaut de `visibleWidth` pour le rendre plus précis"}]}]} />

Version du comportement de `visibleWidth`. 0 - compte uniquement le nombre de points de code ; 1 - compte correctement les caractères de largeur nulle et les caractères de combinaison, compte les caractères de pleine largeur pour deux, estime la largeur des tabulations, compte les caractères d'effacement.
