message: Correctly respect end boundary in ScanTableSegment
diff: @@ -557,7 +557,7 @@ void DataTable::ScanTableSegment(idx_t row_start, idx_t count, const std::functi
  InitializeScanWithOffset(state, column_ids, nullptr, row_start_aligned, row_start + count);
  idx_t current_row = row_start;
  - while (true) {
  + while (current_row < end) {
  CreateIndexScan(state, column_ids, chunk, true);
  if (chunk.size() == 0) {
  break;
  @@ -566,6 +566,7 @@ void DataTable::ScanTableSegment(idx_t row_start, idx_t count, const std::functi
  // figure out if we need to write the entire chunk or just part of it
  idx_t chunk_start = current_row < row_start ? row_start : current_row;
  idx_t chunk_end = end_row > end ? end : end_row;
  + D_ASSERT(chunk_start < chunk_end);
  idx_t chunk_count = chunk_end - chunk_start;
  if (chunk_count != chunk.size()) {
  // need to slice the chunk before insert
  