Ces paramètres sont disponibles dans system.settings et sont générés automatiquement à partir du code source.
aggregate_function_input_format
Historique des versions
| Version | Valeur par défaut | Commentaire |
|---|---|---|
| 25.12 | state | Nouveau paramètre permettant de contrôler le format d'entrée d'AggregateFunction lors des opérations INSERT. La valeur du paramètre est définie sur state par défaut |
Format de l'entrée d'AggregateFunction lors des opérations INSERT.
Valeurs possibles :
state— Chaîne binaire contenant l'état sérialisé (par défaut). Il s'agit du comportement par défaut, dans lequel les valeurs AggregateFunction sont attendues sous forme de données binaires.value— Le format attend une seule valeur pour l'argument de la fonction d'agrégation ou, en cas d'arguments multiples, un tuple de ces valeurs. Elles seront désérialisées à l'aide de l'IDataType ou du DataTypeTuple correspondant, puis agrégées pour former l'état.array— Le format attend un Array de valeurs, comme décrit ci-dessus pour l'optionvalue. Tous les éléments du tableau seront agrégés pour former l'état.
Exemples
Pour une table de structure :
CREATE TABLE example (
user_id UInt64,
avg_session_length AggregateFunction(avg, UInt32)
);Avec aggregate_function_input_format = 'value' :
INSERT INTO example FORMAT CSV
123,456Avec aggregate_function_input_format = 'array' :
INSERT INTO example FORMAT CSV
123,"[456,789,101]"Remarque : les formats value et array sont plus lents que le format state, qui est le format par défaut, car ils nécessitent de créer et d’agréger des valeurs lors de l’insertion.
aggregate_functions_null_for_empty
Active ou désactive la réécriture de toutes les fonctions d’agrégation d’une requête, en leur ajoutant le suffixe -OrNull. Activez ce paramètre pour assurer la compatibilité avec la norme SQL. Cette fonctionnalité est implémentée via une réécriture de requête (semblable au paramètre count_distinct_implementation) afin d’obtenir des résultats cohérents pour les requêtes distribuées.
Valeurs possibles :
- 0 — Désactivé.
- 1 — Activé.
Exemple
Considérez la requête suivante avec des fonctions d’agrégation :
SELECT SUM(-1), MAX(0) FROM system.one WHERE 0;Avec aggregate_functions_null_for_empty = 0, on obtiendrait :
┌─SUM(-1)─┬─MAX(0)─┐
│ 0 │ 0 │
└─────────┴────────┘Avec aggregate_functions_null_for_empty = 1, le résultat serait :
┌─SUMOrNull(-1)─┬─MAXOrNull(0)─┐
│ NULL │ NULL │
└───────────────┴──────────────┘