JingsongLi commented on PR #628:
URL: https://github.com/apache/paimon-rust/pull/628#issuecomment-5126227850

   **[Blocking] Null-fill partially uncovered ranges for nullable providers**
   
   `retain_manifest_entry_row_ranges` may retain a nullable BLOB/vector 
provider because it overlaps one selected range, even though other selected 
ranges fall into a gap in that provider.
   
   For example, consider a normal anchor covering `[0, 5]`, a nullable provider 
covering only `[0, 1]`, and selected ranges `[1, 1]` and `[3, 3]`. The provider 
is retained because it overlaps `[1, 1]`, so the source plan assigns the column 
to that provider. `open_source_stream` then rejects `[3, 3]` as uncovered and 
returns `DataInvalid`. However, selecting only `[3, 3]` prunes the provider 
completely and correctly returns `NULL`.
   
   This makes the nullable missing-provider behavior inconsistent: adding a 
covered row turns a valid NULL-filled query into an error. Please make BLOB and 
vector sources emit NULL/placeholders for uncovered selected ranges, rather 
than NULL-filling only when the entire provider is absent. Please also add 
end-to-end tests covering mixed provider-covered and provider-gap ranges for 
both BLOB and vector columns. The existing 
`test_selected_blob_fallback_rejects_uncovered_non_deleted_range` currently 
codifies the erroneous behavior and should be updated accordingly.


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