Skip to main content

Description

Le format ODBCDriver2 est un format binaire destiné uniquement à la sortie, utilisé pour transférer les résultats de requête via HTTP au pilote ClickHouse pour ODBC. Le pilote le demande en définissant default_format sur ODBCDriver2 ; les utilisateurs ne le sélectionnent généralement pas directement. Tous les entiers du flux sont des valeurs signées sur 32 bits encodées selon l’ordre des octets little-endian. Une chaîne est encodée sous la forme de sa longueur en octets, suivie de ses octets. La sortie présente la structure suivante :
  1. La valeur 2, indiquant que deux lignes d’en-tête suivent.
  2. Un en-tête de noms contenant la valeur number_of_columns + 1, la chaîne name et le nom de chaque colonne.
  3. Un en-tête de types contenant la valeur number_of_columns + 1, la chaîne type et le nom de chaque type de données ClickHouse. Les wrappers LowCardinality sont supprimés de ces noms de types.
  4. Les lignes de données. Chaque ligne contient, pour chaque colonne de résultat, une valeur sérialisée au format texte et précédée de sa longueur. Les lignes de données n’incluent pas leur propre nombre de lignes ou de colonnes, et le flux se termine par EOF.
Une valeur NULL est encodée avec une longueur de -1 ; une chaîne non nulle vide a une longueur de 0. Les totaux, lorsqu’ils sont présents, utilisent le même encodage de ligne et suivent les lignes ordinaires.

Exemple d’utilisation

La requête suivante est représentative des valeurs couvertes par les tests du format :
Le résultat étant binaire, redirigez-le vers un fichier plutôt que vers un terminal :
En utilisation normale, le pilote ajoute default_format=ODBCDriver2 à ses requêtes HTTP et décode la réponse.

Paramètres de format

ODBCDriver2 utilise les paramètres standard de sérialisation textuelle pour les valeurs individuelles. Il ne possède aucun paramètre spécifique au format lui-même.
Dernière modification le 14 août 2026