Why is this an issue?
In src/executor/plan.cpp:144-155:
while (current_page_ <= table_.num_pages_) {
if (table_.get_tuple_at(current_page_, current_slot_, out_tuple)) {
current_slot_++;
return true; // Returns deleted tuple!
get_tuple_at returns false for deleted slots but iterator still advances pages and may return stale data.
What is causing it?
No check for deleted slots before returning tuple.
How can it be solved?
Check slot length > 0 before returning.
Category
Severity
Why is this an issue?
In
src/executor/plan.cpp:144-155:get_tuple_at returns false for deleted slots but iterator still advances pages and may return stale data.
What is causing it?
No check for deleted slots before returning tuple.
How can it be solved?
Check slot length > 0 before returning.
Category
Severity