ClickHouse / ClickHouse/clickhouse-rs

Support QBit data type (25.10)

Open
#314 2 comments 0 reactions 0 assignees View on GitHub
1.0 blocker client feature parity enhancement
Dominant language
Rust
Stars
559
Forks
172
Avg merge
1d 19h
Merged PRs (30d)
3

Description

Website docs: https://clickhouse.com/docs/sql-reference/data-types/qbit

Internal layout: https://github.com/ClickHouse/ClickHouse/pull/87922/files#diff-9d45fe76d9e7f9a392db684d3465aff14979cfc9bbe5ccd912e9307a934bd28aR15-R51

Given `QBit(element_type, dimension)` where `element_type` is one of `BFloat16`, `Float32`, `Float64`, it is internally represented as a `Tuple` of `FixedString(dimension)`.

- The length of the `Tuple` depends on the `element_type`
- `BFloat16` = **16**
- `Float32` = **32**
- `Float64` = **64**
- Requires **`allow_experimental_qbit_type`** setting

Contributor guide

Open the contributing guide

Research direction

Start with the QBit documentation and the referenced ClickHouse PR layout, then inspect how clickhouse-rs maps ClickHouse data types. Compare existing type-support tests and determine how the three element types, dimension-dependent tuple length, and allow_experimental_qbit_type requirement should be represented; done means QBit values are supported with coverage for these cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
databases
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.