Hi Calcite devs,

Our team is currently experimenting with ideas for serialising and
deserialising optimised query plans using RelJsonWriter and RelJsonReader.
We noticed this is possible for pre-optimisation logical plans, but ran
into issues when trying to do so for post-optimisation execution plans. For
example, LogicalJoin implements the required constructor for serialisation
here
<https://calcite.apache.org/javadocAggregate/org/apache/calcite/rel/logical/LogicalJoin.html#%3Cinit%3E(org.apache.calcite.rel.RelInput)>,
but the specific JOIN implementations (e.g. EnumerableBatchNestedLoopJoin)
do not.

Considering this, is there a preferred way for serialising and
deserialising optimised query plans? We wanted to ensure we aren’t missing
something here.

Thank you,

Austin

Reply via email to