refactor(data): migrate Daft SQL bindings to new connectors - #63
Merged
Conversation
Replace the daft-olap-connectors integration with per-connector Daft bindings backed by the public daft-clickhouse and daft-doris facades. - Add DaftClickHouseBinding / DaftDorisBinding using daft_clickhouse.read_clickhouse and daft_doris.read_doris; new binding IDs daft_clickhouse.daft.clickhouse and daft_doris.daft.doris - Replace the old distribution identity in descriptors, dependency checks, install hints and capability receipts - Fail closed on explicit 'parallel' sharding (parallel_sql_read_unsupported) and reject unsupported Doris transports - Declare drivers in extras (clickhouse-connect[arrow,async], PyMySQL, ADBC) and lock daft 0.7.23 - Keep the unpublished daft-clickhouse and daft-doris wheels outside uv.lock; E2E and runtimes install them separately - Update tests for fail-closed parallel, mysql/flight transports, descriptor identity and missing-package diagnostics; clear old package references from docs and E2E notes Signed-off-by: jiangxt2 <jiangxt2@vip.qq.com>
The CI public-API checker requires every __all__ export to carry a @publicapi annotation; DaftClickHouseBinding and DaftDorisBinding were exported by the new facade modules without one, failing the Lint job. - Mark both classes @publicapi(stability=Stability.ALPHA), matching their adapter-level support status Signed-off-by: jiangxt2 <jiangxt2@vip.qq.com>
DaftClickHouseBinding and DaftDorisBinding are now @publicapi targets; the generated data.md page was stale, failing the docs contracts check in Unit Tests and Documentation Build jobs. - Regenerate docs/reference/api/data.md via tools/generate_public_api_reference.py Signed-off-by: jiangxt2 <jiangxt2@vip.qq.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
This PR migrates the Daft ClickHouse/Doris reads from the
daft-olap-connectorspackage to two per-connector public facades:daft-clickhouseanddaft-doris. The old package identity is removed from binding descriptors, dependency checks, install hints and capability receipts, and explicitparallelsharding now fails closed because the target connectors only supportsingleandautosplits.What Changes
DaftClickHouseBindingandDaftDorisBindingbacked by the publicdaft_clickhouse.read_clickhouseanddaft_doris.read_dorisfacades; new binding IDsdaft_clickhouse.daft.clickhouseanddaft_doris.daft.doris.daft-olap-connectorsidentity from descriptors, dependency checks, install hints and capability receipts; old package references are cleared from docs and E2E notes.parallelshard requirements (diagnosticparallel_sql_read_unsupported) and reject unsupported Doris transports.clickhouse-connect[arrow,async],PyMySQL, ADBC) and lock Daft 0.7.23; the unpublisheddaft-clickhouseanddaft-doriswheels stay outsideuv.lockand are installed separately in E2E/runtime environments.Breaking change: the Daft SQL binding IDs change from
daft_olap.daft.clickhouse/daft_olap.daft.doristodaft_clickhouse.daft.clickhouse/daft_doris.daft.doriswithout an old-ID fallback; persisted configurations or receipts using the old IDs require migration.Test Plan
Open Source Checklist