thswlsqls opened a new pull request, #9866: URL: https://github.com/apache/paimon/pull/9866
### Purpose fix #9863 - `BitmapFileIndex` keys TIMESTAMP / TIMESTAMP_LTZ through `Timestamp.toMicros()`, so on precision 7..9 values in the same microsecond share one key; `visitNotIn` flips that key and the exact `BitmapIndexResult` drops the whole bucket from `<>` / `NOT IN`. - Wrap the reader for those types so value predicates return `REMAIN` while `IS NULL` / `IS NOT NULL` still come from the index. - Mirrors #9654 (BSI); range-bitmap already rejects precision > 6 at build time. ### Tests - Added `BitmapFileIndexTest#testSubMicrosecondTimestampIndexAnswersNoValuePredicate` and `#testMicrosecondTimestampIndexStillAnswersValuePredicates`. - Added `DataEvolutionFileIndexTest#testSubMicrosecondTimestampBitmapMatchesUnindexed` (Parquet, ORC): indexed `executeFilter()` read vs. unindexed scan for `=`, `<>`, `IN`, `NOT IN`, `IS [NOT] NULL`, `AND`, `OR`. - Without the fix the unit test gets `BitmapIndexResult` instead of `REMAIN` and the table-level test fails on `<>` for both formats. - `mvn -pl paimon-common clean install` (JDK 11): BUILD SUCCESS, 0 failures; `DataEvolutionFileIndexTest` 32/32 in the reactor. -- 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]
