[ https://issues.apache.org/jira/browse/CALCITE-3890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17534644#comment-17534644 ]
Xurenhe commented on CALCITE-3890: ---------------------------------- I left some doubts in the pr. I am curious about how to analyze the join condition. such as: {code:java} join on t1.id IS NOT DISTINCT FROM t2.id {code} > Derive IS NOT NULL filter for the inputs of inner join > ------------------------------------------------------- > > Key: CALCITE-3890 > URL: https://issues.apache.org/jira/browse/CALCITE-3890 > Project: Calcite > Issue Type: Improvement > Components: core > Reporter: Chunwei Lei > Assignee: Chunwei Lei > Priority: Major > Labels: pull-request-available > Time Spent: 50m > Remaining Estimate: 0h > > We can infer IS NOT NULL predicate from join which implies some columns may > not be null. For instance, > > {code:java} > select * from a join b on a.id = b.id; > {code} > we can infer a.id is not null/b.id is not null and push down them into the > child node of the join. Then it becomes > {code:java} > select * from (select* from a where id is null) t1 join (select * from b > where id is not null) on t1.id = t2.id; > {code} > > -- This message was sent by Atlassian Jira (v8.20.7#820007)