[package] name = "mentat_duckdb" publish = false version.workspace = true edition = "2021" rust-version.workspace = true license.workspace = true repository.workspace = true authors.workspace = true description = "Datomic-compatible Datalog engine exposed as a DuckDB extension" [lib] crate-type = ["cdylib"] [features] # `script` is ON by default: mino is pure Rust (no extra toolchain), and every # script runs sandboxed (no host filesystem) with step/heap/depth limits. default = ["script"] # The mino scripting surface: `edn_eval(store, script)`. script = ["mentat_duckdb_store/script"] [dependencies] # Pin to the DuckDB v1.5.6 line. Tilde => crate patch updates, same DuckDB. # loadable-extension transitively enables `vtab` + `duckdb-loadable-macros`; # `vscalar` is added for the scalar functions. duckdb = { version = "~1.10506.0", features = ["loadable-extension", "vscalar"] } # The engine, storing in DuckDB tables (docs/duckdb-native-storage-plan.md). # Not the `mentat` crate: that one opens SQLite files. mentat_duckdb_store = { path = "store", version = "=1.12.0" } core_traits = { package = "mentat_core_traits", path = "../core-traits", version = "=1.12.0" } edn = { package = "mentat_edn", path = "../edn", version = "=1.12.0" } mentat_core = { path = "../core", version = "=1.12.0" } mentat_query_algebrizer = { path = "../sqlite/query-algebrizer", version = "=1.12.0" } mentat_query_projector = { path = "../sqlite/query-projector", version = "=1.12.0" } mentat_transaction = { path = "../sqlite/transaction", version = "=1.12.0" } public_traits = { package = "mentat_public_traits", path = "../sqlite/public-traits", version = "=1.12.0" } serde_json = "1"