You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ignite.apache.org by "ygerzhedovich (via GitHub)" <gi...@apache.org> on 2023/03/03 10:08:19 UTC
[GitHub] [ignite-3] ygerzhedovich commented on a diff in pull request #1743: IGNITE-18749 Sql. Planner optimization for JOIN
ygerzhedovich commented on code in PR #1743:
URL: https://github.com/apache/ignite-3/pull/1743#discussion_r1124255892
##########
modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/PlannerHelper.java:
##########
@@ -108,4 +136,49 @@ public static IgniteRel optimize(SqlNode sqlNode, IgnitePlanner planner) {
throw ex;
}
}
+
+ /**
+ * A shuttle to estimate a biggest join to optimize.
+ *
+ * <p>There are only two rules: <ol>
+ * <li>Each achievable leaf node contribute to join complexity, thus must be counted</li>
+ * <li>If this shuttle reach the {@link LogicalCorrelate} node, only left shoulder will be
+ * analysed by this shuttle. For right shoulder a new shuttle will be created, and maximum
+ * of previously found subquery and current one will be saved</li>
+ * </ol>
+ */
+ public static class JoinSizeFinder extends RelHomogeneousShuttle {
Review Comment:
Can it be a private class?
--
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: notifications-unsubscribe@ignite.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org