JackieTien97 commented on code in PR #11752:
URL: https://github.com/apache/iotdb/pull/11752#discussion_r1436284247
##########
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java:
##########
@@ -2535,7 +2588,7 @@ private List<TSDataType>
getOutputColumnTypesOfTimeJoinNode(PlanNode node) {
dataTypes.add(((SeriesScanNode)
child).getSeriesPath().getSeriesType());
} else if (child instanceof AlignedSeriesScanNode) {
dataTypes.add(((AlignedSeriesScanNode)
child).getAlignedPath().getSeriesType());
- } else if (child instanceof TimeJoinNode) {
+ } else if (child instanceof FullOuterTimeJoinNode) {
Review Comment:
take account for `LeftOuterTimeJoinNode` and `InnerTimeJoinNode`
##########
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java:
##########
@@ -1898,6 +1902,55 @@ public Operator visitTimeJoin(TimeJoinNode node,
LocalExecutionPlanContext conte
timeComparator);
}
+ @Override
+ public Operator visitInnerTimeJoin(InnerTimeJoinNode node,
LocalExecutionPlanContext context) {
+ List<Operator> children = dealWithConsumeAllChildrenPipelineBreaker(node,
context);
+ OperatorContext operatorContext =
+ context
+ .getDriverContext()
+ .addOperatorContext(
+ context.getNextOperatorId(),
+ node.getPlanNodeId(),
+ InnerTimeJoinOperator.class.getSimpleName());
+ TimeComparator timeComparator =
+ node.getMergeOrder() == Ordering.ASC ? ASC_TIME_COMPARATOR :
DESC_TIME_COMPARATOR;
+ List<TSDataType> outputColumnTypes =
+ context.getTypeProvider().getTemplatedInfo() != null
+ ? getOutputColumnTypesOfTimeJoinNode(node)
+ : getOutputColumnTypes(node, context.getTypeProvider());
+
+ return new InnerTimeJoinOperator(operatorContext, children,
outputColumnTypes, timeComparator);
+ }
+
+ @Override
+ public Operator visitLeftOuterTimeJoin(
+ LeftOuterTimeJoinNode node, LocalExecutionPlanContext context) {
+ Operator leftChild = node.getLeftChild().accept(this, context);
+ Operator rightChild = node.getRightChild().accept(this, context);
Review Comment:
how to adapt for pipeline execution engine?(dop is enough)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]