calcite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vasiliki Kalavri <>
Subject LogicalUnion check in JoinUnionTransposeRule
Date Mon, 07 Mar 2016 15:10:46 GMT
Hello everyone,

the JoinUnionTransposeRule is fired if one of the operands is a Union, but
inside the onMatch() method, the code checks if one of the operands is an
instance of LogicalUnion [1]*.*

In the Apache Flink SQL implementation, we have created a logical operator
FlinkUnion for the translation of union. This operator extends Union and
thus when the JoinUnionTransposeRule matches, it throws a
ClassCastException. To avoid this, we have copied the
JoinUnionTransposeRule over to Flink and changed the check in onMatch()
method to look for an instance of Union instead.

Obviously, this is not a good choice, since the rule code should not have
to be maintained on the Flink side. We are wondering whether this check is
a bug or whether we have misunderstood the way we are supposed to use this

Thank you,


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message