diff options
author | Aman Sinha <asinha@maprtech.com> | 2018-10-13 23:38:17 -0700 |
---|---|---|
committer | Aman Sinha <asinha@maprtech.com> | 2018-10-25 16:08:51 -0700 |
commit | 7571d52eab9b961687df7d4fb845d0a297b228bb (patch) | |
tree | 93c8a2de552c3a90051d523ad26291aacc02d1ef /exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical | |
parent | 387bc4fefc40b645685439fd1da43f7223e5933c (diff) |
DRILL-6381: Address code review comments (part 3).
DRILL-6381: Add missing joinControl logic for INTERSECT_DISTINCT.
- Modified HashJoin's probe phase to process INTERSECT_DISTINCT.
- NOTE: For build phase, the functionality will be same as for SemiJoin when it is added later.
DRILL-6381: Address code review comment for intersect_distinct.
DRILL-6381: Rebase on latest master and fix compilation issues.
DRILL-6381: Generate protobuf files for C++ native client.
DRILL-6381: Use shaded Guava classes. Add more comments and Javadoc.
Diffstat (limited to 'exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical')
-rw-r--r-- | exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillMergeProjectRule.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillMergeProjectRule.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillMergeProjectRule.java index 3a3c40971..10f9567c5 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillMergeProjectRule.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillMergeProjectRule.java @@ -169,6 +169,14 @@ public class DrillMergeProjectRule extends RelOptRule { return list; } + /** + * The purpose of the replace() method is to allow the caller to replace a 'top' and 'bottom' project with + * a single merged project with the assumption that caller knows exactly the semantics/correctness of merging + * the two projects. This is not applying the full fledged DrillMergeProjectRule. + * @param topProject + * @param bottomProject + * @return new project after replacement + */ public static Project replace(Project topProject, Project bottomProject) { final List<RexNode> newProjects = RelOptUtil.pushPastProject(topProject.getProjects(), bottomProject); |