[
https://issues.apache.org/jira/browse/CALCITE-2969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16823651#comment-16823651
]
Danny Chan commented on CALCITE-2969:
-------------------------------------
[~julianhyde] Thanks for your review, i have made the changes:
* Add the breaking changes to history.md
* Rename returnsJustFirstInput to projectsRight which returns false for semi
and anti join
* Replace check
{code:java}
if (rel.getJoinType() != JoinRelType.INNER
&& !rel.getJoinType().returnsJustFirstInput())
{code}
with
{code:java}
rel.getJoinType().generatesNullsOnLeft()
|| rel.getJoinType().generatesNullsOnRight(){code}
* Add method isCorrelated to Join, and still keep method
isNonCorrelatedSemiJoin, cause i don't want to composite decision condition
{code:java}
isCorrelated() && isSemiJoin()
{code}
everywhere
* remove {{variablesSet}} is not-null decision
> Improve design of join-like relational expressions
> --------------------------------------------------
>
> Key: CALCITE-2969
> URL: https://issues.apache.org/jira/browse/CALCITE-2969
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.19.0
> Reporter: Stamatis Zampetakis
> Assignee: Danny Chan
> Priority: Major
> Labels: pull-request-available
> Time Spent: 4.5h
> Remaining Estimate: 0h
>
> The existing join-like (Join, SemiJoin, Correlate, etc.) logical and physical
> relational expressions have a few design issues which make some parts of the
> codebase complicated and difficult to understand.
> The goal of this ticket is to improve the design of the respective
> expressions based on the discussion in the dev list (see thread [Join,
> SemiJoin,
> Correlate|https://mail-archives.apache.org/mod_mbox/calcite-dev/201903.mbox/%3C8EEA04A0-4A77-4283-BD20-B019E19AE126%40apache.org%3E]).
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)