Add mrdb_index:select() et al #7

Merged
uwiger merged 2 commits from uw-index-select into master 2025-07-09 14:39:53 +09:00
Owner

Admittedly minimal test suite cover so far.

The basic idea is this:

  • Index plugins allow for derived index values, operating on the whole primary object
  • mnesia_rocksdb indexes are ordered sets
  • To efficiently traverse indexed tables, the mrdb_index module has provided fold and iterator functionality
  • With mrdb_index:select[_reverse](Tab, Ix, MatchSpec, [, Limit], the match spec operates on a set of tuples {IndexValue, ActualObject}, so that filtering can be done simultaneously on the index value and the object itself.
  • With structured index values, prefix matching is done on the bound prefix of the value, allowing for efficient searching.
Admittedly minimal test suite cover so far. The basic idea is this: - Index plugins allow for derived index values, operating on the whole primary object - `mnesia_rocksdb` indexes are ordered sets - To efficiently traverse indexed tables, the `mrdb_index` module has provided `fold` and `iterator` functionality - With `mrdb_index:select[_reverse](Tab, Ix, MatchSpec, [, Limit]`, the match spec operates on a set of tuples `{IndexValue, ActualObject}`, so that filtering can be done simultaneously on the index value _and_ the object itself. - With structured index values, prefix matching is done on the bound prefix of the value, allowing for efficient searching.
uwiger added 1 commit 2025-07-02 21:49:49 +09:00
uwiger requested review from dimitar.p.ivanov 2025-07-02 21:49:49 +09:00
uwiger requested review from hans_sv 2025-07-02 21:49:49 +09:00
uwiger requested review from zxq9 2025-07-02 21:49:49 +09:00
uwiger added 1 commit 2025-07-04 23:45:35 +09:00
uwiger merged commit e0542f7f52 into master 2025-07-09 14:39:53 +09:00
uwiger deleted branch uw-index-select 2025-07-09 14:39:53 +09:00
Sign in to join this conversation.
No Milestone
No project
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: QPQ-AG/mnesia_rocksdb#7
No description provided.