Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-11402

[C++][Dataset] Allow more aggresive implicit casts for literals

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • C++

    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

          Activity

            People

              Unassigned Unassigned
              bkietz Ben Kietzman
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m