You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replaced Req-based HTTP calls with a stateful Mint transport owned by each DBConnection process, with explicit connect/receive/shutdown timeouts, closed-connection reopening, and safer timeout cleanup.
Added process-local Quack client query IDs for query, append, and telemetry correlation.
Added local server performance defaults and QuackDB.Server:settings / :global_settings boot options.
Added explicit DuckDB binary management through QuackDB.Binary, mix quackdb.install, and QuackDB.Serverduckdb: :managed, with built-in checksums for the pinned DuckDB CLI downloads.
Added managed DuckDB binary guide and install-task target prefetching.
Documented managed DuckDB Windows limitations and linked the managed binary guide from getting started docs.
Native writes, Explorer, and columnar results
Added QuackDB.insert_columns/4 / insert_columns!/4 for column-oriented native append batches.
Added QuackDB.Explorer.insert_dataframe/4 / insert_dataframe!/4 for appending Explorer dataframes through native column append.
Added optional Table.Reader implementations for QuackDB.Result and QuackDB.Columns.
DuckDB helpers, sources, and setup SQL
Added schema-driven QuackDB.DDL.create_table/2, CREATE TABLE AS query support with explicit parameterized-query rejection, and QuackDB.DML.insert_into/2 setup helpers.
Added QuackDB.Extension helpers for DuckDB INSTALL and LOAD statements.
Added QuackDB.Secret helpers for DuckDB HTTP, object-storage, Azure, and Hugging Face secrets.
Added a focused sources guide for DuckDB file/object-store/lakehouse sources, extensions, and secrets.
Clarified that QuackDB does not automatically upload local source files.
Expanded Ecto adapter
Added use QuackDB.Ecto to import Ecto query, analytical, spatial, and FTS helpers together.
Added Ecto combinations, lock SQL, schema full selects, Repo.get!/2, Repo.explain/3, and additional analytical query expressions including selected_as, map, type, and identifier fragments.
Added Ecto upsert SQL generation, schema update/delete callbacks, update_all / delete_all, joined mutations, and rowid-filtered ordered/limited mutations where DuckDB SQL allows it.
Added basic migration DDL generation with real-server coverage for create/drop/alter tables, table/column renames, references, indexes, primary keys, composite primary keys, check constraints, and Ecto.Migrator execution.
Expanded Ecto parameter and schema coverage for :binary_id, :binary, UUID/blob raw params, intervals, temporal values, decimals, arrays, and Geo spatial params.
Protocol and DuckDB type fidelity
Added conversion helpers and compact inspect output for DuckDB-specific scalar structs.
Added decode-side checks for quack-ts protocol conformance fixtures.
Added quack-ts decode fixtures for nanosecond temporal, interval, spatial geometry, null-heavy nested chunks, and BIGNUM values.
Added malformed protocol coverage for truncated BIGNUM values and mismatched data chunk type/vector counts.
Added an optional internal :fsst bridge for future Quack FSST payload decoding once DuckDB exposes compressed FSST vectors over Quack.
Spatial, FTS, and observability
Added QuackDB.SQL.install/1, QuackDB.Spatial, and QuackDB.Ecto.Spatial helpers for DuckDB spatial extension statements and ST_* expressions.
Added optional QuackDB.Geometry WKB conversion helpers and %Geo.*{} SQL/Ecto parameter support when the :geo package is available.
Added QuackDB.FTS and QuackDB.Ecto.FTS helpers for DuckDB FTS indexes, BM25 search ranking, stemming, and Ecto search expressions.
Added :telemetry events for query, append, and fetch operations, including custom prefixes, metadata options, optional params, and append batch counts.
Docs and examples
Added examples for telemetry observation, Explorer dataframe roundtrips, append benchmarks, full-text search, Livebook analytics, and a WMS-like spatial GeoJSON app.
Added contributor documentation for CI, docs, integration, examples, optional dependency smoke checks, and Hex package-content audits.
Added Arrow/columnar handoff research notes and protocol fixture docs for tricky scalar/spatial types.
Fixed
Expanded real Ecto insert coverage for on_conflict: :nothing, single-row insert upserts, insert-from-query SQL paths, renamed :binary_id sources, and binary payloads containing NUL bytes.
Fixed Mint transport call timeout handling for timeout: :infinity, which Ecto migrator uses for migration DDL.
Closed Mint transport connections after receive timeouts to avoid reusing sockets with abandoned in-flight responses.
Updated user docs to reflect current Ecto migration, write, schema-read, package, and protocol coverage.