## 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 - [x] Define and enforce the MVP policy for `NULL` values in indexed columns. - [x] Validate `num_target_keys > 0`. - [x] 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. - [x] Synchronize `Index.root_page_num` after B-Tree root split/collapse in the higher-level index layer. - [x] Add deletion, redistribution, merge, root-collapse, and underflow-propagation tests. - [x] Add invariant/stress coverage where practical.
Problems
NULLvalues safely.Index.root_page_numby the higher-level index layer.Tasks
NULLvalues in indexed columns.num_target_keys > 0.num_target_keys <= index->index_key->num_columns.Index.root_page_numafter B-Tree root split/collapse in the higher-level index layer.