[GitHub] drill pull request #1078: DRILL-6054: don't try to split the filter when it ...
Github user chunhui-shi commented on a diff in the pull request: https://github.com/apache/drill/pull/1078#discussion_r160741806 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/partition/FindPartitionConditions.java --- @@ -195,8 +195,16 @@ private void popOpStackAndBuildFilter() { * For all other operators we clear the children if one of the * children is a no push. */ -assert currentOp.getOp().getKind() == SqlKind.AND; -newFilter = currentOp.getChildren().get(0); +if (currentOp.getOp().getKind() == SqlKind.AND) { + newFilter = currentOp.getChildren().get(0); + for(OpState opState : opStack) { --- End diff -- done. ---
[GitHub] drill pull request #1078: DRILL-6054: don't try to split the filter when it ...
Github user chunhui-shi commented on a diff in the pull request: https://github.com/apache/drill/pull/1078#discussion_r160741771 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/partition/FindPartitionConditions.java --- @@ -228,13 +236,16 @@ private boolean isHolisticExpression(RexCall call) { return false; } + protected boolean inputRefToPush(RexInputRef inputRef) { --- End diff -- This is intentionally made to be 'protected' for future extension. Right now, FindPartitionCondition use position based inputRef(using BitSet dirs) to mark which inputRef should be pushed. But in future, we may use name based policy to decide which one to push. ---
[GitHub] drill pull request #1078: DRILL-6054: don't try to split the filter when it ...
Github user arina-ielchiieva commented on a diff in the pull request: https://github.com/apache/drill/pull/1078#discussion_r160665449 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/partition/FindPartitionConditions.java --- @@ -195,8 +195,16 @@ private void popOpStackAndBuildFilter() { * For all other operators we clear the children if one of the * children is a no push. */ -assert currentOp.getOp().getKind() == SqlKind.AND; -newFilter = currentOp.getChildren().get(0); +if (currentOp.getOp().getKind() == SqlKind.AND) { + newFilter = currentOp.getChildren().get(0); + for(OpState opState : opStack) { --- End diff -- Please add space: `for (` ---
[GitHub] drill pull request #1078: DRILL-6054: don't try to split the filter when it ...
Github user arina-ielchiieva commented on a diff in the pull request: https://github.com/apache/drill/pull/1078#discussion_r160664549 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/partition/FindPartitionConditions.java --- @@ -228,13 +236,16 @@ private boolean isHolisticExpression(RexCall call) { return false; } + protected boolean inputRefToPush(RexInputRef inputRef) { --- End diff -- Can be made private. Should be placed under public methods. ---
[GitHub] drill pull request #1078: DRILL-6054: don't try to split the filter when it ...
GitHub user chunhui-shi opened a pull request: https://github.com/apache/drill/pull/1078 DRILL-6054: don't try to split the filter when it is not AND You can merge this pull request into a Git repository by running: $ git pull https://github.com/chunhui-shi/drill work1 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/drill/pull/1078.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1078 commit e44ed46471317f43c494a497551e6546016f3a10 Author: chunhui-shiDate: 2017-12-22T23:42:27Z DRILL-6054: don't try to split the filter when it is not AND ---