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]

Reply via email to