Skip to content

feat: Finalize B-Tree MVP edge cases #200

Description

@MichailFalaras

Problems

  • Indexed columns currently do not support NULL values safely.
  • B-Tree search keys need basic validation.
  • Non-unique secondary indexes can contain duplicate keys, but deletion must identify the specific entry to remove.
  • B-Tree root changes must be synchronized with Index.root_page_num by the higher-level index layer.
  • Deletion/rebalancing paths still need dedicated tests.

Tasks

  • Define and enforce the MVP policy for NULL values in indexed columns.
  • Validate num_target_keys > 0.
  • Validate num_target_keys <= index->index_key->num_columns.
  • [HANDLED BY @ApostolisFalaras] Define how a specific duplicate secondary-index entry is identified during deletion.
  • [HANDLED BY @ApostolisFalaras] Update secondary-index deletion to remove only the intended duplicate entry.
  • Synchronize Index.root_page_num after B-Tree root split/collapse in the higher-level index layer.
  • Add deletion, redistribution, merge, root-collapse, and underflow-propagation tests.
  • Add invariant/stress coverage where practical.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

featureComponent featurepipeline: b-treeQuery processing pipeline component

Projects

  • Status
    In review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions