drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Altekruse (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-2060) Support constant folding in expressions in Filter
Date Fri, 23 Jan 2015 22:56:34 GMT

    [ https://issues.apache.org/jira/browse/DRILL-2060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14290172#comment-14290172

Jason Altekruse commented on DRILL-2060:

I have been working on this to specifically allow partition pruning to be used in the case
of a constant expression in the filter condition. The initial work I have begun is to remove
the RecordBatch from the DrillFunc interfaces, as we will not have a RecordBatch available
to pass to the expression evaluation at planning time. This also exposes too much to query
state to the UDF writers. We should instead have a more explicit set of query state injectables
that are made available. The only one we have to implement right now is a date and timezone
wrapper that can be used in UDFs. This was the only use of the interface in the current UDFs.

Here is a message I sent to the list about the change:

Here is a git branch with my current work so far:

> Support constant folding in expressions in Filter
> -------------------------------------------------
>                 Key: DRILL-2060
>                 URL: https://issues.apache.org/jira/browse/DRILL-2060
>             Project: Apache Drill
>          Issue Type: New Feature
>          Components: Execution - Flow, Query Planning & Optimization
>            Reporter: Aditya Kishore
>            Assignee: Jacques Nadeau
> If one side of a filter condition is a constant expression, we should be able to evaluate
the expression in the planning phase and replace the expression with the constant value.
> For example, the following filter
> {{Where shipdate < date '1997-01-01' + interval '1' year}}
> can be re-written as
> {{Where shipdate < date '1998-01-01'}}
> Or 
> {{Where age + 5 < 42}}
> can be re-written as
> {{Where age < 37}}

This message was sent by Atlassian JIRA

View raw message