You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Haisheng Yuan (Jira)" <ji...@apache.org> on 2020/07/18 14:14:00 UTC
[jira] [Created] (CALCITE-4129) Support equality check for whole
rel plan tree
Haisheng Yuan created CALCITE-4129:
--------------------------------------
Summary: Support equality check for whole rel plan tree
Key: CALCITE-4129
URL: https://issues.apache.org/jira/browse/CALCITE-4129
Project: Calcite
Issue Type: Improvement
Components: core
Reporter: Haisheng Yuan
Currently the only way to check rel node tree deep equality is transforming into String by {{RelOptUtil.toString(rel)}} with {{SqlExplainLevel.EXPPLAN_ATTRIBUTES}}, which is inefficient. One example is RexSubQuery. It has to do it this way, because the rel being reference by RexSubQuery is possibly not yet registered to VolcanoPlanner, and the digest {{equals}} checks the input RelNode by identity (not content). That is OK for RelSubset and HepRelVertex, if the RelNode is already registered in planner, but not for plain RelNode that is outside of planner. Due to this, we have to implement another set of deep equals logic in our system.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)