Essas configurações estão disponíveis em system.settings e são geradas automaticamente a partir do código-fonte.
aggregate_function_input_format
Histórico de versões
| Versão | Valor padrão | Comentário |
|---|---|---|
| 25.12 | state | Nova configuração para controlar o formato de entrada de AggregateFunction durante operações de INSERT. O valor da configuração é definido como state por padrão |
Formato da entrada de AggregateFunction durante operações de INSERT.
Possíveis valores:
state— String binária com o estado serializado (padrão). Esse é o comportamento padrão, em que os valores de AggregateFunction são esperados como dados binários.value— O formato espera um único valor do argumento da aggregate function ou, no caso de múltiplos argumentos, uma tupla deles. Eles serão desserializados usando o IDataType ou DataTypeTuple correspondente e depois agregados para formar o estado.array— O formato espera um Array de valores, conforme descrito na opçãovalueacima. Todos os elementos do array serão agregados para formar o estado.
Exemplos
Para uma tabela com a estrutura:
CREATE TABLE example (
user_id UInt64,
avg_session_length AggregateFunction(avg, UInt32)
);Com aggregate_function_input_format = 'value':
INSERT INTO example FORMAT CSV
123,456Com aggregate_function_input_format = 'array':
INSERT INTO example FORMAT CSV
123,"[456,789,101]"Nota: os formatos value e array são mais lentos do que o formato state padrão, pois exigem a criação e agregação de valores durante a inserção.
aggregate_functions_null_for_empty
Ativa ou desativa a reescrita de todas as funções de agregação em uma consulta, adicionando o sufixo -OrNull a elas. Ative esta opção para compatibilidade com o padrão SQL. Isso é implementado por meio da reescrita da consulta (semelhante à configuração count_distinct_implementation) para obter resultados consistentes em consultas distribuídas.
Possíveis valores:
- 0 — Desabilitado.
- 1 — Habilitado.
Exemplo
Considere a seguinte consulta com funções de agregação:
SELECT SUM(-1), MAX(0) FROM system.one WHERE 0;Com aggregate_functions_null_for_empty = 0, o resultado seria:
┌─SUM(-1)─┬─MAX(0)─┐
│ 0 │ 0 │
└─────────┴────────┘Com aggregate_functions_null_for_empty = 1, o resultado seria:
┌─SUMOrNull(-1)─┬─MAXOrNull(0)─┐
│ NULL │ NULL │
└───────────────┴──────────────┘