Sergey Nuyanzin created FLINK-38317:
---------------------------------------

             Summary: PushCalcPastChangelogNormalizeRule fails in case of 
partial push down and trimmed fields
                 Key: FLINK-38317
                 URL: https://issues.apache.org/jira/browse/FLINK-38317
             Project: Flink
          Issue Type: Bug
            Reporter: Sergey Nuyanzin
            Assignee: Sergey Nuyanzin


to reproduce
{code:java}
  @Test
    void testPartialPushDownWithTrimmedFieldsAndDifferentProjection() {
        util.tableEnv().createTable("T", sourceDescriptorWithTwoPrimaryKeys);
        // verifyExecPlan is intended here as it will show whether the node is 
reused or not
        util.verifyExecPlan(
                "SELECT f3 FROM T WHERE f2 < 1 AND f2 > 0\n"
                        + " UNION SELECT f3 FROM T WHERE f2 < 3 AND f2 > 0\n"
                        + " INTERSECT SELECT f3 FROM T WHERE f2 > 0 AND f2 < 
10");
    }

{code}

{{sourceDescriptorWithTwoPrimaryKeys}} is defined in 
{{PushCalcPastChangelogNormalizeRuleTest}}

will fail like

{noformat}
java.lang.AssertionError: RexInputRef index 2 out of range 0..1

        at 
org.apache.calcite.rex.RexProgramBuilder$RegisterInputShuttle.visitInputRef(RexProgramBuilder.java:947)
        at 
org.apache.calcite.rex.RexProgramBuilder$RegisterInputShuttle.visitInputRef(RexProgramBuilder.java:932)
{noformat}



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

Reply via email to