Vladislav Pyatkov created IGNITE-29213:
------------------------------------------

             Summary: SQL Calcite: Support SEARCH clause for recursive CTE
                 Key: IGNITE-29213
                 URL: https://issues.apache.org/jira/browse/IGNITE-29213
             Project: Ignite
          Issue Type: Improvement
            Reporter: Vladislav Pyatkov
            Assignee: Vladislav Pyatkov


Support the SQL-standard SEARCH clause for recursive CTEs in the Calcite SQL 
engine, including depth-first and breadth-first ordering.

Call notation:
{code:sql}
WITH [RECURSIVE] cte_name [(column_name, ...)] AS (
    initial_query
    UNION [ALL | DISTINCT]
    recursive_query
)
SEARCH { DEPTH | BREADTH } FIRST BY column_name [, ...] SET order_column
SELECT ... FROM cte_name ORDER BY order_column;
{code}

Implement planning and execution of SEARCH and calculation of the generated 
ordering column so that ORDER BY order_column produces the requested traversal 
order.

Calcite syntax support is tracked by 
https://issues.apache.org/jira/browse/CALCITE-7815.
Related CYCLE support: https://issues.apache.org/jira/browse/IGNITE-29060.
Recursive CTE support: https://issues.apache.org/jira/browse/IGNITE-27822.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to