Found while reviewing the type layer in draft PR #712 (branch chtypes-v2).
Problem. Elements of a caller-supplied in filter on Int128/UInt128/Int256/UInt256 columns go through plain accurateCastOrNull, which wraps a too-large value at the column width instead of matching nothing. Inferred from the code path and ClickHouse cast semantics; not reproduced end to end.
Repro (to be confirmed). Column UInt128, filter in with a value of 2^128 + 5 as a string; expect no rows, but the cast may match the row holding 5.
Found while reviewing the type layer in draft PR #712 (branch
chtypes-v2).Problem. Elements of a caller-supplied
infilter onInt128/UInt128/Int256/UInt256columns go through plainaccurateCastOrNull, which wraps a too-large value at the column width instead of matching nothing. Inferred from the code path and ClickHouse cast semantics; not reproduced end to end.Repro (to be confirmed). Column
UInt128, filterinwith a value of2^128 + 5as a string; expect no rows, but the cast may match the row holding5.