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)