ApexBase v1.22.0
2026-07-14
- Add Lance dataset import/export helpers:
ApexClient.from_lance,ApexClient.to_lance, andResultView.to_lance - Route Lance interoperability through Arrow tables for a lean in-process handoff while preserving ApexBase and Lance on-disk formats
- Add cost-based SELECT planning with executable candidate details, cardinality feedback, residual-predicate preservation, bounded join planning, and richer
EXPLAINtiming and cost visibility - Strengthen index and statistics correctness with generation-aware sidecars, typed composite keys, composite-prefix and range access, AND intersection, OR union, covering-index costs, Zone Map costs, and controlled row-id materialization
- Expand Hive-style user behavior benchmark coverage with 360-degree, complex, most-complex, and syntax-torture workloads plus DuckDB and SQLite equivalents
- Improve aggregation, DML, expression, join, window, mmap, and embedded execution paths for complex SQL and indexed workloads, with broader regression coverage for edge cases
- Refine memory-efficient public APIs and add Python and Rust memory benchmarks for internal and embedded access paths
- Expand the public benchmark scoreboard with 18 common OLTP microbenchmarks covering direct row counts, point reads, missing-row lookups, small projected reads, single-row writes, update/delete-by-id paths, and read-your-write checks
- Expand the public OLAP benchmark scoreboard with category/grouped ordering, HAVING, ascending TopK, distinct-count, JSON group-by, and filtered city aggregation metrics
- Reuse global string dictionary caches for filtered string aggregations so predicates such as
city = 'Beijing'can aggregate numeric columns without reparsing the filter column - Refresh README branding and performance snapshot documentation
- Update the Rust crate and Python package version metadata to 1.22.0