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
{{ message }}
Repository navigation
Commit e6bf1ef
Browse filesBrowse the repository at this point in the historyBrowse files
* test: failing tests for CachingReader binding
* feat: add CachingReader binding (duckdb-string and bridged primaries)
Wraps upstream ggsql::reader::CachingReader: an internal in-memory
DuckDB cache backend, primary given as a duckdb:// connection string
(built fresh internally) or any Python object with the reader bridge
protocol. Config from GGSQL_CACHE_* env vars with keyword overrides.
Package-level export included here rather than as a later task because
the constructor tests reference ggsql.CachingReader directly.
* chore: cargo fmt for CachingReader binding
* test: CachingReader memoization, TTL, and disable paths
* test: CachingReader layer-source and cache-routing scenarios
* test: export check for CachingReader; hoist _CountingReader to module scope
* docs: clarify enabled=False only disables memoization
Registered tables still live in the private cache, reads referencing
them still route there, and derived SQL still runs on the cache backend
— the flag only stops the memo being consulted or written. Addresses
Copilot review on #10.
* Add CHANGELOG entry for CachingReader (#10)
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,7 @@
7
7
- New native writers `SVGWriter`, `PDFWriter`, and `HepWriter`, rendered directly by ggsql (via hephaestus) with no JavaScript round-trip. Each exposes `render(spec)` returning `str` (SVG) or `bytes` (PDF/HEP); render warnings are surfaced via `warnings.warn()`.
8
8
- New `ggsql.save(spec, file, ...)` helper that writes a spec to disk, picking the writer from the file extension (`.svg`, `.pdf`, `.hep`, or `.json` for Vega-Lite).
9
9
- Enabled the crate's `builtin-data` feature, making builtin datasets such as `ggsql:world` available.
10
+
- New `ggsql.CachingReader` that caches query results to avoid redundant source reads. Wraps a `duckdb://` connection string or any custom Python reader; reads are memoized with a configurable TTL and size budget, and derived `__ggsql_*` tables run on a private in-memory DuckDB cache.
0 commit comments