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

# configurações de sessão de function_*

> Configurações de sessão do ClickHouse no grupo gerado por 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"
  }}>Padrão</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Pode ser alterado sem reiniciar
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Essas configurações estão disponíveis em [system.settings](/docs/pt-BR/reference/system-tables/settings) e são geradas automaticamente a partir do [código-fonte](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": "Nova configuração que limita o tamanho da entrada de `base58Encode`, `base58Decode` e `tryBase58Decode` (cuja conversão é quadrática em relação ao comprimento da entrada) a 10 KB por padrão. O valor de compatibilidade `0` desabilita o limite, restaurando o comportamento anterior de aceitar entradas arbitrariamente grandes."}]}]} />

Tamanho máximo, em bytes, de um único valor de entrada para as funções `base58Encode`, `base58Decode` e `tryBase58Decode`. A conversão genérica `base58` é quadrática em relação ao comprimento da entrada, portanto um único valor grande pode levar muito tempo para ser executado. `base58` foi projetado para dados curtos (chaves, hashes, endereços), portanto o padrão de 10 KB é um limite de segurança generoso. `base58Encode` e `base58Decode` geram `TOO_LARGE_STRING_SIZE` para entradas maiores, enquanto `tryBase58Decode` retorna uma string vazia. Um valor de `0` desabilita o limite (comportamento anterior à introdução desta configuração). As funções lineares `base32` e `base64` não são afetadas.

<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": "Adiciona uma nova configuração para preservar o comportamento antigo da função dateTrunc"}]}, {"id": "row-2","items": [{"label": "25.4"},{"label": "0"},{"label": "Altera o tipo de resultado da função dateTrunc para argumentos DateTime64\/Date32 para DateTime64\/Date32, independentemente da unidade de tempo, para obter o resultado correto para valores negativos"}]}]} />

Permite alterar o comportamento do tipo de retorno da função `dateTrunc`.

Valores possíveis:

* 0 - Quando o segundo argumento é `DateTime64/Date32`, o tipo de retorno será `DateTime64/Date32`, independentemente da unidade de tempo no primeiro argumento.
* 1 - Para `Date32`, o resultado é sempre `Date`. Para `DateTime64`, o resultado é `DateTime` para unidades de tempo `second` e maiores.

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

Escolha a implementação da função para um destino ou variante específicos (experimental). Se estiver vazio, habilite todas elas.

<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 a compatibilidade com a função locate do MySQL."}]}]} />

Controla a ordem dos argumentos da função [locate](/docs/pt-BR/reference/functions/regular-functions/string-search-functions#locate).

Possíveis valores:

* 0 — A função `locate` aceita os argumentos `(haystack, needle[, start_pos])`.
* 1 — A função `locate` aceita os argumentos `(needle, haystack, [, start_pos])` (comportamento compatível com o MySQL)

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

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

Define o limite de segurança para o volume de dados gerado pela função [range](/docs/pt-BR/reference/functions/regular-functions/array-functions#range). Determina o número máximo de valores gerados pela função por bloco de dados (soma dos tamanhos dos arrays para cada linha em um bloco).

Valores possíveis:

* Inteiro positivo.

**Veja também**

* [`max_block_size`](/docs/pt-BR/reference/settings/session-settings/max#max_block_size)
* [`min_insert_block_size_rows`](/docs/pt-BR/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": "Nas versões anteriores, o tempo máximo de espera de 3 segundos era aplicado apenas a `sleep`, mas não à função `sleepEachRow`. Nesta nova versão, introduzimos essa configuração. Se você definir a compatibilidade com as versões anteriores, desativaremos o limite por completo."}]}]} />

Número máximo de microssegundos que a função `sleep` pode aguardar em cada bloco. Se um usuário a chamar com um valor maior, ela lança uma exceção. Esse é um limite de segurança.

<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": "Alteramos o comportamento padrão de `visibleWidth` para torná-lo mais preciso"}]}]} />

A versão do comportamento de `visibleWidth`. 0 - conta apenas o número de pontos de código; 1 - conta corretamente caracteres de largura zero e caracteres combinados, conta caracteres de largura dupla como dois, estima a largura da tabulação e conta caracteres de exclusão.
