Search before asking
Paimon version
master (1.5-SNAPSHOT)
Compute Engine
Spark / Flink full-text search over a data-evolution table (with paimon-full-text).
Minimal reproduce step
- Create a data-evolution table with a full-text-indexed column.
- Write data but do not build the full-text index (index building is a separate commit from data writes), or query after the index has expired.
- Run a full-text search in FULL or DETAIL mode.
What doesn't meet your expectations?
The search returns zero rows instead of scanning the raw data. In DataEvolutionFullTextScan, the raw-data compensation split (for rows not covered by a full-text index) is gated on if (!fullTextIndexFiles.isEmpty()), so when no index exists the compensation is skipped and the plan is empty. unindexedRanges would correctly return the whole row-id space (FULL) or the data-file ranges (DETAIL). FAST mode is correctly empty.
Anything else?
There is also a read-side checkNotNull on a null index type that would NPE once the scan-side gate is removed; the raw fallback index type needs to resolve to the built-in full-text type.
Are you willing to submit a PR?
Search before asking
Paimon version
master (1.5-SNAPSHOT)
Compute Engine
Spark / Flink full-text search over a data-evolution table (with
paimon-full-text).Minimal reproduce step
What doesn't meet your expectations?
The search returns zero rows instead of scanning the raw data. In
DataEvolutionFullTextScan, the raw-data compensation split (for rows not covered by a full-text index) is gated onif (!fullTextIndexFiles.isEmpty()), so when no index exists the compensation is skipped and the plan is empty.unindexedRangeswould correctly return the whole row-id space (FULL) or the data-file ranges (DETAIL). FAST mode is correctly empty.Anything else?
There is also a read-side
checkNotNullon a null index type that would NPE once the scan-side gate is removed; the raw fallback index type needs to resolve to the built-infull-texttype.Are you willing to submit a PR?