You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Andrew Lamb (Jira)" <ji...@apache.org> on 2020/10/05 11:14:00 UTC

[jira] [Created] (ARROW-10173) [Rust][DataFusion] Improve performance of equality to a constant predicate support

Andrew Lamb created ARROW-10173:
-----------------------------------

             Summary: [Rust][DataFusion] Improve performance of equality to a constant predicate support
                 Key: ARROW-10173
                 URL: https://issues.apache.org/jira/browse/ARROW-10173
             Project: Apache Arrow
          Issue Type: Improvement
            Reporter: Andrew Lamb


I noticed this behavior while working on support for DictionaryArrays and wanted to capture it in a ticket in case someone has time to work on it. 

In order to implement an equality predicate to a constant such as {{d1 = 'three'}}, DataFusion effectively creates an array with the same value {{'three'}} repeated over and over again and uses the equality compute kernel. This is ... suboptimal.

Here is what the predicate looks like:
{code}
        predicate: BinaryExpr {
            left: CastExpr {
                expr: Column {
                    name: "d1",
                },
                cast_type: Utf8,
            },
            op: Eq,
            right: Literal {
                value: Utf8("three"),
            },
        },
{code}





--
This message was sent by Atlassian Jira
(v8.3.4#803005)