drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aman Sinha (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-2019) Filter pushdown into the subquery when the subquery also has a filter is resulting in incorrect results
Date Fri, 16 Jan 2015 07:05:34 GMT

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

Aman Sinha commented on DRILL-2019:
-----------------------------------

The FilterPrel's  getSupportedEncoding() was returning NONE_AND_TWO  - meaning it would accept
inputs that have either no selection vectors or SV2.   This is wrong because a Filter would
add its own SV2, so it should accept only inputs with NONE.   Making this change introduces
the SVRemover for each of the filters and produces right result. 

I also tried enabling Calcite's MergeFilterRule in DrillRuleSets (it was never added there)
but it did not help because Calcite's logical plan consists of the two FilterRels with an
intervening ProjectRel, which prevents the MergeFilterRule from getting applied.  

> Filter pushdown into the subquery when the subquery also has a filter is resulting in
incorrect results
> -------------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-2019
>                 URL: https://issues.apache.org/jira/browse/DRILL-2019
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Operators, Query Planning & Optimization
>            Reporter: Rahul Challapalli
>            Assignee: Aman Sinha
>            Priority: Critical
>
> git.commit.id.abbrev=b491cdb
> The below query on top of tpch 0.01 data should actually return 0 records. (Verified
with postgres). However drill returns incorrect result
> {code}
> select count(*) from cp.`tpch/lineitem.parquet` l inner join (select o.o_orderkey, o.o_custkey
from cp.`tpch/orders.parquet` o where o.o_custkey < 5) s on l.l_orderkey = s.o_orderkey
and s.o_custkey > 5;
> +------------+
> |   EXPR$0   |
> +------------+
> | 189        |
> +------------+
> {code}
> Marked as 'critical' since drill is reporting incorrect results



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message