Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.18.0
Description
In order to parse, optimize, and execute, recursive queries, expressed in SQL, datalog, SPARQL, or other high level language we need first to be able to represent recursive queries in relational algebra.
The subject has been previously discussed in the dev list (see thread with title Recursive query, graph query, Datalog) where various ideas and optimizations were proposed.
In this issue, we attempt to address only the algebraic part providing the following:
- logical operator(s) for expressing recursion;
- naive physical operator(s) for the Enumerable convention;
- ability to create a recusive plan using the RelBuilder.
Attachments
Issue Links
- blocks
-
CALCITE-129 Support recursive WITH queries
-
- Closed
-
- causes
-
CALCITE-3673 ListTransientTable should not leave tables in the schema
-
- Closed
-
- is related to
-
CALCITE-4355 Improve cost estimates for recursive queries
-
- Open
-
-
CALCITE-4356 In JDBC adapter, generate WITH RECURSIVE queries
-
- Open
-
- relates to
-
CALCITE-4054 RepeatUnion containing a Correlate with a transientScan on its RHS causes NPE
-
- Closed
-
-
CALCITE-3542 Implement RepeatUnion All=false
-
- Closed
-
-
CALCITE-3109 Improvements on algebraic operators to express recursive queries (RepeatUnion & TableSpool)
-
- Closed
-
- links to