All notable changes to this project are documented here. Format follows Keep a Changelog; this project adheres to Semantic Versioning.
append-row! now throws when a column is absent from the row map instead of
silently appending NULL over a SQL default or NOT NULL constraint. An
explicit nil still appends NULL.reduce-streaming reuses the datasource's configured connection (read-only
mode, credentials, session-init SQL) instead of rebuilding it from the URL.datasource (read-only/access-mode, arbitrary settings, session-init SQL, auto-commit, user-agent, pin-db); duplicate for a second connection sharing the same database; a full Appender surface (catalog/schema-qualified targets, byte[] BLOB, DEFAULT/UNION values, primitive arrays with validity masks, explicit HUGEINT/UUID/temporal encodings); a single-value appender; and explicit process-global lifecycle controls (release-db!, cancel-scheduler shutdown, function-registry inspection).duckdb.exec (new): native streaming-result reduction (reduce-streaming), chunked columnar reads (read-chunks/reduce-chunks), reusable prepared-statement control with parameter/return metadata and typed HUGEINT binding, query progress/timeout/cancellation, and native profiling output.duckdb.arrow (new, optional): Apache Arrow result export (arrow-export/with-arrow-reader) and Arrow stream registration (register-arrow!) via the Arrow C Data interface. Arrow Java is an optional dependency (:arrow alias) and requires the --add-opens=java.base/java.nio=ALL-UNNAMED runtime flag; it is not pulled by base users.duckdb.udf (new): register Clojure functions as DuckDB scalar (register-scalar!) and table (register-table!) functions. Note: duckdb_jdbc 1.5.4.0 provides no working deregistration for Java UDFs, so registrations are process-global and persist for the lifetime of the JVM — use stable, unique names. Aggregate UDFs are not exposed by this driver.duckdb.meta (new): DuckDB-specific typed result accessors (HUGEINT/UHUGEINT, UUID, JSON node, lazy string, offset-time, BLOB, ARRAY, STRUCT) and JDBC metadata introspection (catalogs, schemas, tables, columns, keys, indexes, type info, driver capabilities) realized into Clojure data.duckdb.core/append! bulk-inserts map rows through DuckDB's Appender API, using table column order and supporting scalar values plus nested LIST/STRUCT values.Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |