Search before asking
Paimon version
master @ bbae07d
Compute Engine
Any engine writing TIMESTAMP(9) / TIMESTAMP_LTZ(9) columns (Flink, Java API); Spark's microsecond default is unaffected.
Minimal reproduce step
- Create a table with
f1 TIMESTAMP(9) and file-index.bitmap.columns = f1.
- Insert two rows whose
f1 differ only below a microsecond, e.g. ...00.000123000 and ...00.000123400.
SELECT * FROM t WHERE f1 <> TIMESTAMP '...00.000123000'.
Expected 1 row, got 0. BitmapFileIndex.getValueMapper() keys TIMESTAMP / TIMESTAMP_LTZ through Timestamp.toMicros(), so both rows share one key; Reader.visitNotIn flips that bitmap and RawFileSplitRead applies it as an exact row selection, dropping the whole bucket.
What doesn't meet your expectations?
<> / NOT IN on an indexed TIMESTAMP(7..9) column must return the same rows as an unindexed scan. #9654 fixed this for BSI (REMAIN for value predicates, exact IS NULL / IS NOT NULL); bitmap has used the same mapper since #3775; range-bitmap rejects precision > 6 at build time.
Anything else?
N/A
Are you willing to submit a PR?
Search before asking
Paimon version
master @ bbae07d
Compute Engine
Any engine writing
TIMESTAMP(9)/TIMESTAMP_LTZ(9)columns (Flink, Java API); Spark's microsecond default is unaffected.Minimal reproduce step
f1 TIMESTAMP(9)andfile-index.bitmap.columns = f1.f1differ only below a microsecond, e.g....00.000123000and...00.000123400.SELECT * FROM t WHERE f1 <> TIMESTAMP '...00.000123000'.Expected 1 row, got 0.
BitmapFileIndex.getValueMapper()keys TIMESTAMP / TIMESTAMP_LTZ throughTimestamp.toMicros(), so both rows share one key;Reader.visitNotInflips that bitmap andRawFileSplitReadapplies it as an exact row selection, dropping the whole bucket.What doesn't meet your expectations?
<>/NOT INon an indexedTIMESTAMP(7..9)column must return the same rows as an unindexed scan. #9654 fixed this for BSI (REMAINfor value predicates, exactIS NULL/IS NOT NULL); bitmap has used the same mapper since #3775; range-bitmap rejects precision > 6 at build time.Anything else?
N/A
Are you willing to submit a PR?