Skip to content

test: Add Table B+ Tree row operation tests #172

Description

@ApostolisFalaras

Description

Add tests for Table row operations that coordinate the primary and secondary B+ Tree indexes.

Physical table creation, materialization, truncation, drop, and Pager persistence are already covered separately.

Tasks

  • Test row insertion through the primary index
  • Test secondary-index entries created during insertion
  • Test duplicate PRIMARY KEY rejection
  • Test UNIQUE constraint rejection
  • Test primary-key row lookup
  • Test secondary-index row lookup
  • Test full table scan
  • Test index range scan
  • Test tombstoned rows are skipped
  • Test row update without changing indexed columns
  • Test row update that changes a secondary-index key
  • Test row update that changes the primary key
  • Test row deletion
  • Test secondary-index entries are removed after deletion
  • Test row count after successful insertions and deletions
  • Test failure consistency when one index operation fails

Acceptance Criteria

  • Inserted rows are reachable through the appropriate indexes.
  • Primary and secondary indexes remain synchronized.
  • Duplicate and UNIQUE violations are rejected.
  • Table scans return all live rows.
  • Range scans return the expected rows in index order.
  • Updates correctly replace affected index entries.
  • Deleted or tombstoned rows are not returned.
  • Row count remains consistent.
  • Failed operations do not leave partially updated index state.

Depends On

  • feat: Implement Table row insertion
  • feat: Implement Table row lookup and scan operations
  • feat: Implement Table row update
  • feat: Implement Table row deletion
  • feat: Implement Index exact lookup and range scan operations
  • feat: Implement Index entry insertion
  • feat: Implement Index entry deletion

Metadata

Metadata

Labels

pipeline: tableQuery processing pipeline componenttestingUnit tests for component

Projects

Status
Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions