walterddr commented on code in PR #10813:
URL: https://github.com/apache/pinot/pull/10813#discussion_r1210611522
##########
pinot-query-planner/src/main/java/org/apache/pinot/query/planner/plannode/ExchangeNode.java:
##########
@@ -102,4 +110,17 @@ public List<RelFieldCollation> getCollations() {
public Set<String> getTableNames() {
return _tableNames;
}
+
+ /** Type of exchange. */
+ public enum Type {
Review Comment:
suggest name it as ExchangeType. later we want to also get rid of
RelDistribution.Type dependency from Calcite and we might add DistributionType
Enum as well here
##########
pinot-query-planner/src/main/java/org/apache/pinot/query/planner/logical/RelToPlanNodeConverter.java:
##########
@@ -120,8 +120,8 @@ private static PlanNode convertLogicalExchange(Exchange
node, int currentStageId
// Compute all the tables involved under this exchange node
Set<String> tableNames = getTableNamesFromRelRoot(node);
- return new ExchangeNode(currentStageId, toDataSchema(node.getRowType()),
tableNames, node.getDistribution(),
- fieldCollations, isSortOnSender, isSortOnReceiver);
+ return new ExchangeNode(currentStageId, toDataSchema(node.getRowType()),
ExchangeNode.Type.PLAN_FRAGMENT,
+ tableNames, node.getDistribution(), fieldCollations, isSortOnSender,
isSortOnReceiver);
Review Comment:
this is the only place to add exchange type which is hard-coded. what's the
plan to make a decision on whether to use SUBPLAN or FRAGMENT?
need to address the following questions
- does it use RelHint?
- if so which RelHint to use and how does it apply to Exchange
this PR should provide an example for utilizing it to create something other
than PLAN_FRAGMENT exchange
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]