Rust bindings for DuckDB. Supports DuckDB precompiled libraries for fast builds and from source builds for debugging.
- Ninja:
brew install ninja(macOS) |apt-get install ninja-build(Ubuntu) - CMake:
brew install cmake(macOS) |apt-get install cmake(Ubuntu) - C++17 compatible compiler: GCC or Clang
Link against the precompiled DuckDB release build.
cargo build -p vortex-duckdbOpt into DuckDB debug build: VX_DUCKDB_DEBUG=1.
VX_DUCKDB_DEBUG=1 cargo build -p vortex-duckdbEnable both ASAN & TSAN: VX_DUCKDB_SAN=1.
VX_DUCKDB_DEBUG=1 VX_DUCKDB_SAN=1 cargo build -p vortex-duckdb| Variable | Effect |
|---|---|
VX_DUCKDB_DEBUG |
Build from source in debug mode |
VX_DUCKDB_ASAN |
Enable AddressSanitizer |
# By default, link against the precompiled DuckDB release build.
cargo test -p vortex-duckdb
# Link against the DuckDB debug build from source.
VX_DUCKDB_DEBUG=1 cargo test -p vortex-duckdb
# Link against the DuckDB debug build from source with ASAN & TSAN.
ASAN_OPTIONS=detect_container_overflow=0 VX_DUCKDB_DEBUG=1 VX_DUCKDB_SAN=1 cargo test -p vortex-duckdb