[ https://issues.apache.org/jira/browse/CALCITE-5253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17609308#comment-17609308 ]
Evgeny Stanilovsky commented on CALCITE-5253: --------------------------------------------- fixed all issues, additional tests appended, seems issue ready for review. > NATURAL join and USING should fail if join columns are not unique - > expression validation partially broken. > ----------------------------------------------------------------------------------------------------------- > > Key: CALCITE-5253 > URL: https://issues.apache.org/jira/browse/CALCITE-5253 > Project: Calcite > Issue Type: Bug > Components: core > Affects Versions: 1.31.0 > Reporter: Evgeny Stanilovsky > Assignee: Evgeny Stanilovsky > Priority: Major > Labels: pull-request-available > > Such issue is not possible for now: > {code:java} > CREATE TABLE t1(a INTEGER, b INTEGER, c INTEGER); > CREATE TABLE t2(b INTEGER, c INTEGER, d INTEGER); > CREATE TABLE t3(c INTEGER, d INTEGER, e INTEGER); > SELECT t1.c, t2.d, t1.b, t1.a, t3.e FROM t1 natural join t2 natural join t3; > {code} > cause: > {noformat} > SqlValidatorException: Column name 'C' in NATURAL join or USING clause is not > unique on one side of join > {noformat} > This validation is correct for example for case : > > {noformat} > select e.ename, d.name from dept as d natural join (select ename, sal as > deptno, deptno from emp) as e > {noformat} > but fails as described above. > Was broken by: > [1] https://issues.apache.org/jira/browse/CALCITE-5171 -- This message was sent by Atlassian Jira (v8.20.10#820010)