[ https://issues.apache.org/jira/browse/CALCITE-2554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16737156#comment-16737156 ]
Michael Mior commented on CALCITE-2554: --------------------------------------- [~zabetak] Slipped my mind. Thanks for the reminder! > Enrich enumerable join operators with order preserving information > ------------------------------------------------------------------ > > Key: CALCITE-2554 > URL: https://issues.apache.org/jira/browse/CALCITE-2554 > Project: Calcite > Issue Type: Improvement > Components: core > Affects Versions: 1.17.0 > Reporter: Stamatis Zampetakis > Assignee: Michael Mior > Priority: Minor > Labels: pull-request-available > Fix For: 1.19.0 > > > Calcite enumerable convention offers four ways to perform a join over two > inputs: > # EnumerableJoin > # EnumerableThetaJoin > # EnumerableSemiJoin > # EnumerableCorrelate > The algorithms that are used by the afforementioned operators : > # org.apache.calcite.linq4j.EnumerableDefaults#join_ > # org.apache.calcite.linq4j.EnumerableDefaults#thetaJoin > # org.apache.calcite.linq4j.EnumerableDefaults#semiJoin > # org.apache.calcite.linq4j.EnumerableDefaults#correlateJoin > in many cases can preserves the order of the left (outer) input. However, > this information is not reflected in the RelTraitSet and thus cannot be > exploited by the optimizer. Without this information, sort operators > following the join cannot be removed (using SortRemoveRule) leading to > suboptimal plans. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)