aboutsummaryrefslogtreecommitdiff
path: root/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical
diff options
context:
space:
mode:
authorAman Sinha <asinha@maprtech.com>2018-10-13 23:38:17 -0700
committerAman Sinha <asinha@maprtech.com>2018-10-25 16:08:51 -0700
commit7571d52eab9b961687df7d4fb845d0a297b228bb (patch)
tree93c8a2de552c3a90051d523ad26291aacc02d1ef /exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical
parent387bc4fefc40b645685439fd1da43f7223e5933c (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.java8
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);