| Entrada | Saída | Alias |
|---|---|---|
| ✗ | ✔ |
Descrição
O formato ODBCDriver2 é um formato binário somente de saída, usado para transferir resultados de consultas por HTTP para o
driver do ClickHouse para ODBC. O driver o solicita ao definir default_format como
ODBCDriver2; normalmente, os usuários não o selecionam diretamente.
Todos os inteiros no fluxo são valores assinados de 32 bits codificados em ordem de bytes little-endian. Uma string é codificada como seu comprimento em bytes seguido de seus bytes. A saída tem a seguinte estrutura:
- O valor
2, indicando que duas linhas de cabeçalho vêm em seguida. - Um cabeçalho de nomes contendo o valor
number_of_columns + 1, a stringnamee o nome de cada coluna. - Um cabeçalho de tipos contendo o valor
number_of_columns + 1, a stringtypee o nome de cada tipo de dados do ClickHouse. Os wrappersLowCardinalitysão removidos desses nomes de tipo. - As linhas de dados. Cada linha contém, para cada coluna de resultado, um valor serializado como texto e prefixado pelo comprimento. As linhas de dados não
incluem sua própria contagem de linhas ou colunas, e o fluxo termina em
EOF.
Um valor NULL é codificado com o comprimento -1; uma string não nula vazia tem comprimento 0. Os totais, quando presentes, usam a
mesma codificação de linha e seguem as linhas comuns.
Exemplo de uso
A consulta a seguir é representativa dos valores testados pelo formato:
SELECT
1 AS x,
[2, 3] AS y,
'Hello' AS z,
NULL AS a
FORMAT ODBCDriver2Como o resultado é binário, redirecione-o para um arquivo em vez de exibi-lo no terminal:
clickhouse-client --query \
"SELECT 1 AS x, [2, 3] AS y, 'Hello' AS z, NULL AS a FORMAT ODBCDriver2" \
> result.binEm condições normais de uso, o driver adiciona default_format=ODBCDriver2 às requisições HTTP e decodifica a resposta.
Configurações de formato
ODBCDriver2 usa as configurações padrão de serialização de texto para valores individuais. Ele não tem configurações específicas do próprio formato.