Repository navigation
Remove repeated elements from IN lists - #10685
robert3005 wants to merge 1 commit into
Conversation
Merging this PR will regress 8 benchmarks4 warnings, 1 note
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes
|
DataFusion builds the IN list of a hash join filter from the keys of the build side, which repeat. Each repeat makes the conversion and the lookup more costly. - `in_list_of` removes equal elements after it sorts them. One null keeps the SQL semantics. - The DataFusion converter converts equal literals once. - The converter reads the type and nullability of a predicate, and does not ask for its return field. DataFusion names that field by formatting the whole expression, which for a large IN list costs more than the conversion. - `contiguous_integer_bounds` checks the dtype before it views a scalar as a primitive, because a failed view builds an error. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Robert Kruszewski <github@robertk.io>
e73c844 to
ddb4233
Compare
in_list_ofremoves equal elements after it sorts them. One null element stays, so the SQL semantics do not change.contiguous_integer_boundschecks the dtype before it views a scalar as a primitive, because a failed view builds an error.