LuciferYang opened a new pull request, #10286:
URL: https://github.com/apache/paimon/pull/10286

   ### Purpose
   
   In `DataEvolutionFullTextScan`, the raw-data compensation split (for rows 
not covered by a full-text index) was gated on `if 
(!fullTextIndexFiles.isEmpty())`. So a full-text search in FULL or DETAIL mode 
over a data-evolution table whose full-text index has never been built (index 
building is a separate commit from the data writes) or has expired returns an 
empty plan — zero rows — instead of scanning the raw data.
   
   This removes the gate and always computes the compensation via 
`unindexedRanges(textColumnIds, null)`: FULL returns the whole row-id space, 
DETAIL returns the data-file ranges, and FAST correctly stays empty. It also 
fixes the read side, where `checkNotNull` on a now-reachable null index type 
would NPE, by resolving the raw fallback to the built-in `full-text` index 
type, and moves a `@Nullable` onto the helper that is actually nullable.
   
   This closes #10285.
   
   ### Tests
   
   - `FullTextSearchBuilderTest` gains cases pinning that a search with no 
full-text index files produces the raw-scan split in FULL and DETAIL mode 
(empty on the pre-fix gated code) and stays empty in FAST mode, plus a unit 
test on the raw fallback index-type resolution.
   
   Note: the zero-index read closure cannot be exercised end-to-end inside 
`paimon-core` — the native `full-text` implementation is registered only by the 
`paimon-full-text` module, which is not on core's test classpath — so the added 
tests pin the planning split and the fallback type here, with the end-to-end 
read covered by the Spark/Flink layers.
   
   ### API and Format
   
   No.
   
   ### Documentation
   
   No.
   


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