Descripción
Combina la salida compacta fila por fila deJSONCompactEachRow con información de progreso en streaming. ClickHouse emite cada evento como un objeto JSON independiente; los valores de las columnas conservan sus tipos JSON nativos.
El formato relacionado JSONCompactStringsEachRowWithProgress utiliza los mismos tipos de objeto de nivel superior, pero los valores de los campos se serializan como cadenas.
Comparte el mismo contrato de stream que JSONEachRowWithProgress (writesProgressConcurrently / finalizeImpl), con la diferencia de que las cargas útiles row / totals / min / max son arrays de valores en el orden de las columnas, en lugar de objetos con nombre.
Objetos del stream
Cada línea de la respuesta es un objeto JSON. Los clientes deben determinar cómo procesar cada objeto según su clave de nivel superior:
El objeto
rows_before_limit_at_least se emite cuando la consulta contiene LIMIT, aunque el límite no haya descartado ninguna fila. Es una cota inferior estimada del número de filas que habría sin LIMIT (con el mismo significado que en JSON); los clientes no deben interpretarlo como prueba de que se descartaron filas.
meta se emite una vez antes del primer row, pero un objeto progress puede llegar antes que meta. El objeto exception de nivel superior solo se emite en la ruta HTTP cuando http_write_exception_in_output_format=1; de lo contrario, el error se notifica a través de la capa de transporte. Cuando se emite, es un objeto de nivel superior independiente, no anidado dentro de row.
Ejemplo de uso
Query
Response