Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
After ARROW-8919, a literal in an Expression may cause unnecessary implicit casting of a column. For example equal(field_ref("i8"), literal(1)) will cause column i8 to be promoted to the type of the literal (int32) for comparison. Since we have access to the literal value at bind time we could examine 1 and determine that it can safely be *de*moted to int8, which produces a semantically equivalent and more performant filter.
Attachments
Issue Links
- links to