JeonDaehong opened a new pull request, #1164: URL: https://github.com/apache/paimon-rust/pull/1164
### Purpose Linked issue: close #1163 ### Brief change log `KeyValueFileReader` skips the sort merge for a section with one sorted run whose files have no retract rows, under the deduplicate or first-row engine. The run's files don't overlap and the writer keeps keys unique within a file, so there is nothing to merge. Planning already reads a single-file split raw on the same basis. Other sections merge as before. Disjoint level-0 files packed into one split, 2M rows: 216 ms → 71 ms. Overlapping sections take the merge path unchanged (medians 515–528 vs 527–531 ms over 8 alternating pairs, ranges overlap). ### Tests - `pk_single_run_read_test`: three disjoint files in one split read back once each, with a value-only projection and a residual filter; overlapping one of them still merges to the newer value. - `dv_merge_on_read_loads_deletion_vectors_per_file` asserted the first batch had 128 rows, the merge's output size. Its delete-free files now stream unmerged, so it checks the batch is non-empty; the lazy DV loading it covers is unchanged. Ran the ci.yml steps locally (fmt, clippy, msrv, unit, rest-server, integration, datafusion, python, go). ### API and Format None. ### Documentation None. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
