You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Konstantin Orlov (Jira)" <ji...@apache.org> on 2025/05/26 09:29:00 UTC

[jira] [Assigned] (IGNITE-25471) Sql. Introduce custom infrastructure for rel explanation

     [ https://issues.apache.org/jira/browse/IGNITE-25471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Konstantin Orlov reassigned IGNITE-25471:
-----------------------------------------

    Assignee: Konstantin Orlov

> Sql. Introduce custom infrastructure for rel explanation
> --------------------------------------------------------
>
>                 Key: IGNITE-25471
>                 URL: https://issues.apache.org/jira/browse/IGNITE-25471
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql ai3
>            Reporter: Konstantin Orlov
>            Assignee: Konstantin Orlov
>            Priority: Major
>              Labels: ignite-3
>
> Currently, we are taking an advantage of {{org.apache.calcite.rel.RelNode#explain(org.apache.calcite.rel.RelWriter)}}. This approach has number of drawbacks.
> First, we don't have necessary control over attributers included into printout. For example,   the output of {{TableModify}} node contains attributes {{sourceExpressionList}} and {{flattened}} which doesn't make sense in our case. This can be WA'ed by inlining all the explainTerms of parent rel within {{IgniteTableModify}}, but there is a chance to break serialization in case new attributes is introduced in upcoming release.
> Second, we are resolving indexes into column names, and sometimes you need to know context to do it properly. For example, {{IgniteMergeJoin}} has {{leftCollation}} and {{rightCollation}} which must be resolved with lhs or rhs row type respectively. The context is available in {{org.apache.ignite.internal.sql.engine.rel.IgniteMergeJoin#explainTerms}}, but is completely lost in relation-agnostic {{RelWriter}}.
> Given that said, it would be beneficial to introduce distinct infrastructure to printout relations for EXPLAIN command.



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