tank-duckdb
DuckDB driver implementation for Tank: the Rust data layer.
Implements Tank’s Driver and related traits for DuckDB, mapping Tank operations and queries into direct DuckDB commands. It does not replace the main tank crate. you still use it to define entities, manage schemas, and build queries.
📘 https://tankhq.github.io/tank
🖥️ https://github.com/TankHQ/tank
📦 https://crates.io/crates/tank
Features
- DuckDB C API (FFI) using libduckdb-sys
- Bulk inserts use DuckDB's appender API
- Queries are executed in parallel using tokio runtime, results are send using flume unbounded channel
Install
Optional feature flags:
bundled(default): uses the bundled DuckDB library.
Disable it if you want a system DuckDB:
Quick Start
use ;
use DuckDBDriver;
let driver = new;
let pool = driver
.connect_pool
.await?;
let mut connection = pool.get.await?;