zjw1111 opened a new issue, #367:
URL: https://github.com/apache/paimon-cpp/issues/367

   ### Search before asking
   
   - [x] I searched in the 
[issues](https://github.com/apache/paimon-cpp/issues) and found nothing similar.
   
   ### Paimon-cpp version
   
   `main` at commit `70165ff127b9129234c81deab745332d0e12cdfa`.
   
   ### Minimal reproduce step
   
   1. Create a data-evolution table with row tracking and deletion vectors 
enabled. Write 12 rows with `f0 = 0..11` and global row IDs `100..111`.
   2. Supply a scored Global Index result through 
`ScanContextBuilder::SetGlobalIndexResult`: candidate row IDs `100, 101, 102, 
104, 105, 106, 107, 108, 109, 110, 111`, with each score equal to `row_id + 
0.5`.
   3. Read `f0` and `_INDEX_SCORE` with predicate filtering enabled and the 
predicate `f0 != 2 AND f0 < 10`. Repeat with and without projecting `_ROW_ID`.
   4. Also exercise deletion-vector filtering, both by itself and together with 
the predicate. For example, delete file-relative positions `1, 4, 5, 6, 7, 11`.
   5. Repeat after a partial-column update that requires merging files covering 
the same row-ID range.
   
   ### What doesn't meet your expectations?
   
   Each surviving row should keep its own Global Index score after predicate or 
deletion-vector filtering. In the predicate-only example, row ID `104` should 
have score `104.5`.
   
   Instead, score completion advances a cursor through the original score 
vector for surviving rows. Once an earlier candidate is filtered out, 
subsequent rows can receive another candidate's score; row ID `104` receives 
`102.5` in the regression example.
   
   The result should be identical whether the user projects `_ROW_ID` or not. 
An internally added row-ID column must not appear in the user's output. Indexed 
splits without scores should continue returning null `_INDEX_SCORE` values.
   
   ### Anything else?
   
   The issue affects Global Index score completion combined with deletion 
vectors and/or predicates. Regression coverage exercises single-file reads and 
reads that merge columns from multiple files, using Parquet, ORC and Avro. File 
Index score handling is outside this issue's scope.
   
   ### Are you willing to submit a PR?
   
   - [x] I'm willing to submit a PR!
   
   


-- 
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