-
Notifications
You must be signed in to change notification settings - Fork 113
duckdb: marshal query results via C API #3593
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Alexander Droste <[email protected]>
284b2e2 to
9da8a98
Compare
|
Mind adding an description explaining the motivation of this change. |
|
I wonder if this has much overhead compared to the arrow exporter, maybe marshalling can be done after timing the run? |
Benchmarks: TPC-H on NVMETable of Results
|
Benchmarks: TPC-H on S3Table of Results
|
Benchmarks: compressTable of Results
|
Benchmarks: Clickbench on NVMETable of Results
|
Marshelling is opt-in where the extend of the marshelling is given by how E.g. in clickbench ddb2 we skip the marshelling: The result pointer of a query always gets assigned in If you look at
|
|
This is a good find! It does however rely on another marshalling layer from duckdb to rust primitive think this can be unified with the vx conversion, maybe using vortex scalar or vx-scalar using this marshalling. |
…ection-wrapper Signed-off-by: Alexander Droste <[email protected]>
Signed-off-by: Alexander Droste <[email protected]>
Replaces duckdb-rs query result handling with custom marshaling via DuckDB C API. This change removes the dependency on duckdb-rs and provides more fine-grained control over querying and result processing. Changes: - Add `QueryResult` wrapper for C API marshaling - Replace Connection::execute*() methods with query() returning `QueryResult` - Implement result extraction via `TryFrom` - Remove duckdb-rs fork dependency - Update tests to use new interface Signed-off-by: Alexander Droste <[email protected]> Signed-off-by: mwlon <[email protected]>
Replaces duckdb-rs query result handling with custom marshaling via DuckDB C API. This change removes the dependency on duckdb-rs and provides more fine-grained control over querying and result processing.
Changes:
QueryResultwrapper for C API marshalingQueryResultTryFrom