bug/50761089 spatial index das update iterator should handle empty index column
This commit is contained in:
@ -197,6 +197,8 @@ int ObDASUpdIterator::get_next_spatial_index_row(ObNewRow *&row)
|
||||
if (OB_SUCC(ret)) {
|
||||
ObDASWriteBuffer &write_buffer = get_write_buffer();
|
||||
ObSpatIndexRow *spatial_rows = get_spatial_index_rows();
|
||||
bool got_row = false;
|
||||
while (OB_SUCC(ret) && ! got_row) {
|
||||
if (OB_ISNULL(spatial_rows) || spatial_row_idx_ >= spatial_rows->count()) {
|
||||
const ObChunkDatumStore::StoredRow *sr = nullptr;
|
||||
spatial_row_idx_ = 0;
|
||||
@ -234,10 +236,12 @@ int ObDASUpdIterator::get_next_spatial_index_row(ObNewRow *&row)
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_SUCC(ret) && spatial_row_idx_ < spatial_rows->count()) {
|
||||
row = &(*spatial_rows)[spatial_row_idx_];
|
||||
old_row_ = row;
|
||||
spatial_row_idx_++;
|
||||
got_row = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user