설명
ODBCDriver2 포맷은 HTTP를 통해 ClickHouse용 ODBC 드라이버로 쿼리 결과를 전송하는 데 사용되는 바이너리 출력 전용 포맷입니다. 드라이버는 default_format을
ODBCDriver2로 설정하여 이 포맷을 요청하며, 일반적으로 사용자가 직접 선택하지는 않습니다.
스트림의 모든 정수는 리틀 엔디언 바이트 순서로 인코딩된 부호 있는 32비트 값입니다. 문자열은 바이트
길이와 그 뒤에 이어지는 바이트로 인코딩됩니다. 출력 구조는 다음과 같습니다.
- 뒤이어 2개의 헤더 행이 있음을 나타내는 값
2입니다. - 값
number_of_columns + 1, 문자열name, 각 컬럼명을 포함하는 이름 헤더입니다. - 값
number_of_columns + 1, 문자열type, 각 ClickHouse 데이터 타입 이름을 포함하는 타입 헤더입니다. 이 타입 이름에서는LowCardinality래퍼가 제거됩니다. - 데이터 행입니다. 각 행에는 결과 컬럼마다 텍스트로 직렬화되고 길이 접두사가 붙은 값 1개가 포함됩니다. 데이터 행에는
별도의 행 또는 컬럼 수가 포함되지 않으며, 스트림은
EOF에서 끝납니다.
NULL 값은 길이 -1로 인코딩되며, 비어 있는 non-NULL 문자열의 길이는 0입니다. 합계가 있는 경우
동일한 행 인코딩을 사용하며 일반 행 뒤에 이어집니다.
사용 예시
default_format=ODBCDriver2를 추가하고 응답을 디코딩합니다.
포맷 설정
ODBCDriver2는 개별 값에 표준 텍스트 직렬화 설정을 사용합니다. 포맷 자체에 특화된 설정은 없습니다.