Commit 2ff3140
committed
Add persistent index support to CTable
- New CTableIndex handle with col_name, kind, name, stale properties
- create_index(), drop_index(), rebuild_index(), compact_index() methods
- index() lookup and indexes property on CTable
- _CTableIndexProxy duck-type shim routes sidecar files to
<table.b2d>/_indexes/<col_name>/ for persistent tables
- Index catalog stored in /_meta vlmeta; survives table close/reopen
- where() automatically uses a fresh index; falls back to scan when stale
- Epoch tracking: mutations (append, extend, setitem, assign, sort_by,
compact) mark all indexes stale; delete() bumps visibility_epoch only
- Views raise ValueError for all index management methods
- Add _indexes to reserved column names in schema_compiler
- 32 new tests in tests/ctable/test_ctable_indexing.py
- New example examples/ctable/indexing.py
- New tutorial doc/getting_started/tutorials/15.indexing-ctables.ipynb
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent 04f2577 commit 2ff3140
File tree
7 files changed
+2429
-2
lines changed- doc/getting_started/tutorials
- examples/ctable
- plans
- src/blosc2
- tests/ctable
7 files changed
+2429
-2
lines changed
0 commit comments