You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladislav Pyatkov (Jira)" <ji...@apache.org> on 2026/08/14 14:51:00 UTC

[jira] [Updated] (IGNITE-27822) Support recursive query for Calcite engine

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

Vladislav Pyatkov updated IGNITE-27822:
---------------------------------------
    Description: 
h3. Motivation
Apache Calcite can parse, validate, and produce a logical plan for recursive CTEs using LogicalRepeatUnion, transient tables, and table spools. However, Ignite Calcite currently lacks the physical relational operators, planner rules, and runtime execution nodes required to execute such plans.
As a result, valid hierarchical queries using {{WITH RECURSIVE}} cannot be executed by the Ignite Calcite engine.
This task adds the first complete vertical slice of recursive CTE support.

h3. Definition of done
*  Supported {{WITH RECURSIVE ... UNION ALL}} queries execute through the Ignite Calcite engine.
* Recursive state is isolated between separate CTE instances and separate queries.
* Recursive delta memory is included in SQL query memory accounting.
* Distributed source-table scans can feed coordinator-side recursion.

  was:
h3. Motivation
Apache Calcite can parse, validate, and produce a logical plan for recursive CTEs using LogicalRepeatUnion, transient tables, and table spools. However, Ignite Calcite currently lacks the physical relational operators, planner rules, and runtime execution nodes required to execute such plans.
As a result, valid hierarchical queries using {{WITH RECURSIVE}} cannot be executed by the Ignite Calcite engine.
This task adds the first complete vertical slice of recursive CTE support.

h3. Definition of done
# Supported {{WITH RECURSIVE ... UNION ALL}} queries execute through the Ignite Calcite engine.
# Recursive state is isolated between separate CTE instances and separate queries.
# Recursive delta memory is included in SQL query memory accounting.
# Distributed source-table scans can feed coordinator-side recursion.


> Support recursive query for Calcite engine
> ------------------------------------------
>
>                 Key: IGNITE-27822
>                 URL: https://issues.apache.org/jira/browse/IGNITE-27822
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Vladislav Pyatkov
>            Assignee: Vladislav Pyatkov
>            Priority: Major
>              Labels: ignite-2
>         Attachments: RecursiveQueryTest.java
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> Apache Calcite can parse, validate, and produce a logical plan for recursive CTEs using LogicalRepeatUnion, transient tables, and table spools. However, Ignite Calcite currently lacks the physical relational operators, planner rules, and runtime execution nodes required to execute such plans.
> As a result, valid hierarchical queries using {{WITH RECURSIVE}} cannot be executed by the Ignite Calcite engine.
> This task adds the first complete vertical slice of recursive CTE support.
> h3. Definition of done
> *  Supported {{WITH RECURSIVE ... UNION ALL}} queries execute through the Ignite Calcite engine.
> * Recursive state is isolated between separate CTE instances and separate queries.
> * Recursive delta memory is included in SQL query memory accounting.
> * Distributed source-table scans can feed coordinator-side recursion.



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