Aman Sinha created DRILL-404:
--------------------------------
Summary: Wrong result for boolean operations that have more than 2
inputs
Key: DRILL-404
URL: https://issues.apache.org/jira/browse/DRILL-404
Project: Apache Drill
Issue Type: Bug
Reporter: Aman Sinha
See query below which has and AND of 3 range predicates. It looks like drill
is only processing the first 2 predicates and ignoring the N_NATIONKEY < 2
predicate. The explain plan also shows the problem.
select N_REGIONKEY, N_NATIONKEY from dfs.`/tmp/parquet/nation.parquet` where
N_REGIONKEY < 2 and N_NATIONKEY > 0 and N_NATIONKEY < 2;
+-------------+-------------+
| N_REGIONKEY | N_NATIONKEY |
+-------------+-------------+
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 0 | 5 |
| 0 | 14 |
| 0 | 15 |
| 0 | 16 |
| 1 | 17 |
| 1 | 24 |
+-------------+-------------+
9 rows selected (0.14 seconds)
0: jdbc:drill:zk=local> explain plan for select N_REGIONKEY, N_NATIONKEY from
dfs.`/tmp/parquet/nation.parquet` where N_REGIONKEY < 2 and N_NATIONKEY > 0 and
N_NATIONKEY < 2;
+------------+
| physical |
+------------+
| {
"head" : {
"version" : 1,
"generator" : {
"type" : "org.apache.drill.exec.planner.logical.DrillImplementor",
"info" : ""
},
"type" : "APACHE_DRILL_PHYSICAL",
"resultMode" : "EXEC"
},
"graph" : [ {
"pop" : "parquet-scan",
"@id" : 1,
"entries" : [ {
"path" : "file:/tmp/parquet/nation.parquet"
} ],
"storageengine" : {
"type" : "parquet"
}
}, {
"pop" : "filter",
"@id" : 2,
"child" : 1,
"expr" : " ( (N_REGIONKEY) < (2) ) and ( (N_NATIONKEY) > (0) ) "
}, {
"pop" : "selection-vector-remover",
"@id" : 3,
"child" : 2
}, {
--
This message was sent by Atlassian JIRA
(v6.2#6252)