Dawid Wysakowicz created FLINK-33597:
----------------------------------------

             Summary: Can not use a nested column for a join condition
                 Key: FLINK-33597
                 URL: https://issues.apache.org/jira/browse/FLINK-33597
             Project: Flink
          Issue Type: Bug
          Components: Table SQL / Planner
            Reporter: Dawid Wysakowicz
            Assignee: Dawid Wysakowicz
             Fix For: 1.19.0


Query:
{code}
SELECT A.after.CUSTOMER_ID FROM `CUSTOMERS` A INNER JOIN `PRODUCTS` B ON 
A.after.CUSTOMER_ID = B.after.PURCHASER;
{code}

fails with:

{code}
java.lang.RuntimeException: Error while applying rule 
FlinkProjectWatermarkAssignerTransposeRule, args 
[rel#411017:LogicalProject.NONE.any.None: 
0.[NONE].[NONE](input=RelSubset#411016,exprs=[$2, $2.CUSTOMER_ID]), 
rel#411015:LogicalWatermarkAssigner.NONE.any.None: 
0.[NONE].[NONE](input=RelSubset#411014,rowtime=$rowtime,watermark=SOURCE_WATERMARK())]
        at 
org.apache.calcite.plan.volcano.VolcanoRuleCall.onMatch(VolcanoRuleCall.java:250)
...
Caused by: java.lang.IllegalArgumentException: Type mismatch:
rel rowtype: RecordType(RecordType:peek_no_expand(INTEGER NOT NULL CUSTOMER_ID, 
VARCHAR(2147483647) CHARACTER SET "UTF-16LE" CUSTOMER_NAME, VARCHAR(2147483647) 
CHARACTER SET "UTF-16LE" TITLE, INTEGER DOB) after, INTEGER $f8) NOT NULL
equiv rowtype: RecordType(RecordType:peek_no_expand(INTEGER NOT NULL 
CUSTOMER_ID, VARCHAR(2147483647) CHARACTER SET "UTF-16LE" CUSTOMER_NAME, 
VARCHAR(2147483647) CHARACTER SET "UTF-16LE" TITLE, INTEGER DOB) after, INTEGER 
NOT NULL $f8) NOT NULL
Difference:
$f8: INTEGER -> INTEGER NOT NULL

        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:592)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:613)
        at 
org.apache.calcite.plan.volcano.VolcanoRuleCall.transformTo(VolcanoRuleCall.java:144)
        ... 50 more
{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to