1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
// SPDX-License-Identifier: MIT OR Apache-2.0
//! `better-duck-core` — a safe, low-level Rust wrapper around the
//! [DuckDB](https://duckdb.org) C API (`libduckdb-sys`).
//!
//! This crate provides:
//! - A high-level [`connection::Connection`] for opening databases and executing SQL.
//! - Low-level raw types (`RawConnection`, `DuckResult`, `DuckRow`) for advanced use.
//! - Type conversion traits ([`types::DuckDialect`], [`types::appendable::AppendAble`]) for
//! mapping between Rust types and DuckDB values.
pub extern crate libduckdb_sys;
/// Re-export of the raw `libduckdb_sys` FFI bindings.
pub use libduckdb_sys as ffi;
/// Async facade over [`connection::Connection`], gated by the `async` feature.
/// DuckDB database configuration.
/// High-level DuckDB connection type.
/// A shared, cloneable handle to an open DuckDB database.
/// Error types returned by this crate.
/// An `r2d2` connection pool backed by a shared [`Database`](database::Database).
/// An owned, thread-safe, fully materialized query result.
/// DuckDB type system and value conversion traits.
/// User-defined DuckDB functions: scalar functions and table functions.
/// Async facade over [`connection::Connection`].
pub use AsyncConnection;
/// Async facade over [`Database`].
pub use AsyncDatabase;
/// Async facade over [`pool::Pool`].
pub use AsyncPool;
/// Registers a plain Rust function as a DuckDB scalar function. See [`udf`].
pub use duckdb_scalar;
/// Registers a plain Rust function as a DuckDB table function. See [`udf`].
pub use duckdb_table_function;
/// DuckDB database configuration.
pub use ;
/// A shared, cloneable handle to an open DuckDB database.
pub use Database;
/// A DuckDB appender for bulk-inserting rows into a table.
pub use Appender;
/// A fully iterable DuckDB query result.
pub use DuckResult;
/// A single row from a DuckDB query result.
pub use DuckRow;
/// A prepared statement suitable for caching and re-execution.
pub use CachedStatement;
/// An owned, thread-safe, fully materialized query result.
pub use ResultSet;
/// Trait for binding values to DuckDB prepared statements and appenders.
pub use AppendAble;
/// A calendar date value for use without the `chrono` feature.
pub use DuckDate;
/// A time-of-day value for use without the `chrono` feature.
pub use DuckTime;