DRILL-4974: Add missing null check in FindPartitionConditions.analyzeCall()
close apache/drill#634 Project: http://git-wip-us.apache.org/repos/asf/drill/repo Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/00ee1236 Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/00ee1236 Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/00ee1236 Branch: refs/heads/master Commit: 00ee1236e54a30268358de2810208509efbea9f0 Parents: c17b755 Author: karthik <[email protected]> Authored: Thu Oct 20 13:43:17 2016 -0700 Committer: Jinfeng Ni <[email protected]> Committed: Sat Oct 29 22:02:39 2016 -0700 ---------------------------------------------------------------------- .../logical/partition/FindPartitionConditions.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/drill/blob/00ee1236/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/partition/FindPartitionConditions.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/partition/FindPartitionConditions.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/partition/FindPartitionConditions.java index 620b6b2..da90065 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/partition/FindPartitionConditions.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/partition/FindPartitionConditions.java @@ -312,12 +312,14 @@ public class FindPartitionConditions extends RexVisitorImpl<Void> { if (callPushDirFilter == PushDirFilter.NO_PUSH) { OpState currentOp = opStack.peek(); - if (currentOp.sqlOperator.getKind() != SqlKind.AND) { - clearChildren(); - } else { - // AND op, check if we pushed some children - if (currentOp.children.size() > 0) { - callPushDirFilter = PushDirFilter.PARTIAL_PUSH; + if (currentOp != null) { + if (currentOp.sqlOperator.getKind() != SqlKind.AND) { + clearChildren(); + } else { + // AND op, check if we pushed some children + if (currentOp.children.size() > 0) { + callPushDirFilter = PushDirFilter.PARTIAL_PUSH; + } } } }
