| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-01-07 | 1.6 kB | |
| v0.2.1 source code.tar.gz | 2026-01-07 | 1.6 MB | |
| v0.2.1 source code.zip | 2026-01-07 | 1.9 MB | |
| Totals: 3 Items | 3.5 MB | 0 | |
What's New in v0.2.1
AS OF Temporal Queries in JOINs
- Support for
AS OF TIMESTAMPandAS OF TRANSACTIONin JOIN clauses -
Compare current vs historical data in a single query:
:::sql SELECT c.price AS current_price, h.price AS old_price FROM products c JOIN products AS OF TIMESTAMP '2024-01-01' h ON c.id = h.id WHERE c.price != h.price;
Performance Optimizations
Memory & Allocation Improvements: - Arc-based Row storage with three-tier optimization (Inline/Owned/Shared) - HashMap pooling in VersionStore (~99% allocation reduction for bulk inserts) - Arena slot reuse to prevent unbounded growth on updates - SmallVec for aggregation states and function args
AST Optimizations: - CompactString for inline storage (≤24 bytes avoids heap allocation) - Box large enum variants reducing Expression size from ~400 to ~64 bytes - Pre-computed lowercase fields instead of runtime conversion
Query Execution: - Optimized hash joins with cached NULL rows - TopNResult with pre-extracted sort keys for O(1) comparisons - raw_entry_mut API in GROUP BY (avoids key cloning)
Bug Fixes
- Fix INNER JOIN returning 0 rows with parameters (#4) Thanks to @nhansiromeo
- Fix SubquerySource filter application
- Proper resource cleanup with Drop impl for Database
Other Changes
- Add DuckDB benchmark with optional feature flags
- Version info now uses Cargo.toml as single source of truth
- Improved README with feature comparison tables
Full Changelog: https://github.com/stoolap/stoolap/compare/v0.2.0...v0.2.1