Description
Combine la sortie compacte ligne par ligne deJSONCompactEachRow avec des informations de progression transmises en continu. ClickHouse transmet chaque événement sous la forme d’un objet JSON distinct ; les valeurs de colonne conservent leurs types JSON natifs.
Le format apparenté JSONCompactStringsEachRowWithProgress utilise les mêmes kinds d’objets de premier niveau, mais les valeurs des champs y sont sérialisées sous forme de chaînes de caractères.
Partage le même contrat de flux que JSONEachRowWithProgress (writesProgressConcurrently / finalizeImpl), à ceci près que les charges utiles row / totals / min / max sont des tableaux de valeurs ordonnées selon les colonnes, et non des objets nommés.
Objets du flux
Chaque ligne de la réponse est un objet JSON. Les clients doivent aiguiller le traitement en fonction de la clé de premier niveau :
L’objet
rows_before_limit_at_least est émis dès que la requête contient LIMIT, même si la limite n’a écarté aucune ligne. Il s’agit d’une estimation basse du nombre de lignes qu’il y aurait eu sans LIMIT (même signification que dans JSON) ; les clients ne doivent pas y voir la preuve que des lignes ont été écartées.
meta est émis une seule fois, avant le premier row, mais un objet progress peut arriver avant meta. Via HTTP, l’objet exception de premier niveau n’est émis que si http_write_exception_in_output_format=1 ; sinon, l’erreur est remontée par la couche de transport. Lorsqu’il est émis, il s’agit d’un objet de premier niveau distinct, non imbriqué sous row.
Exemple d’utilisation
Query
Response