Changelog:
- Breaking: Replace
apache-arrow
with@uwdata/flechette
to access Apache Arrow IPC data with better performance and smaller footprint. While the API for Flechette tables mirrors many aspects of the Arrow JS reference implementation, it is not a perfect one-to-one replacement. It is possible that some Mosaic users may need to adjust query result processing in response. - Breaking: Redesign the data cube indexer to write index tables into a named schema (default
'mosaic'
). This allows data cube index tables to be managed in a largely isolated environment and to be reused across users and sessions. Temporary index tables are no longer supported, as temporary tables can not be created within a named schema. - Breaking: Remove
temp
option for data cube index tables. - Breaking: Remove data cube indexer
enabled
method, instead use get/set properties. - Add data cube indexer
schema
get/set properties. - Add data cube indexer
dropIndexTables()
method. This method issues a query to remove the entire data cube index table schema. It should be called if base tables are updated, causing index tables to become stale and inaccurate. - Add Selection
include
to define a Selection that includes the clauses from one or more upstream selections. This addition allows selections to be composed to build up larger clause sets from sub-selections. - Add client
initialize
method. This method supports dynamic client re-initialization, issuing new field info and client query requests. - Fix throttle utility to be resilient to callback rejections. (thanks @andyrooger!)
- Fix canceled queries by rejecting them, rather than leaving them pending. (thanks @andyrooger!)
- Fix index creation queries to no longer be canceled when clearing the data cube indexes. These indexes may already be used in other queued requests. (thanks @andyrooger!)
- Fix
Plot
class to re-initialize mark clients upon dynamic field updates. - Fix data cube indexer to generate correct averages in variance and covariance calculations. (#487)
- Fix broken usage of
json_format
and addloadJSON
test. (thanks @geoffreyd!) - Fix management of cancelled queries, remove race condition. (thanks @andyrooger!)
- Fix query consolidation to flag aggregate queries with no groupby. (#479, thanks @andyrooger!)
- Fix variable access typo in
DuckDBStatement
within node.js DuckDB lib. - Fix time interval year span calculation. (#484)
- Fix
nearest
interactor with param-compatible clause for single-field selections. (#502) - Fix
nearest
interactor for consistent param and selection updates. (#508) - Fix Coordinator
queryRequest
to always return a Promise. (#507) - Update Jupyter widget, remove
temp_indexes
property and adddataCubeSchema
property. - Update types, method signatures in
Coordinator
andDataCubeIndexer
. - Update test runner from mocha to vitest. (thanks @domoritz!)
- Update Coordinator API documentation.
- Update athletes example to use Selection
include
. We now use an upstream selection to limit text search options to the current sport and sex.