[
https://issues.apache.org/jira/browse/CALCITE-2812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16855418#comment-16855418
]
Ruben Quesada Lopez commented on CALCITE-2812:
----------------------------------------------
[~julianhyde], [~hyuan], thanks for the comments.
For consistency, I agree on changing {{maxRep}} to allow all integer values,
and treat all negative values as "no limit". I have no issue with renaming it
as {{iterationLimit}}. Since this is an iterative operator, we chose to call it
{{RepeatUnion}}, rather than {{RecursiveUnion}}, so I think {{iterationLimit}}
would make more sense than {{maxRecursion}}. Also, please notice that in our
case, 0 is a valid value to be considered: it means that only the "seed"
relational expression (the left input of the RepeatUnion) will be evaluated;
and the iterative (the right input) will be evaluated 0 times, i.e. will not be
considered.
I will create a separate jira ticket to address all these details for the next
version, once 1.20 gets released.
> Add algebraic operators to allow expressing recursive queries
> -------------------------------------------------------------
>
> Key: CALCITE-2812
> URL: https://issues.apache.org/jira/browse/CALCITE-2812
> Project: Calcite
> Issue Type: New Feature
> Components: core
> Affects Versions: 1.18.0
> Reporter: Stamatis Zampetakis
> Assignee: Ruben Quesada Lopez
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.20.0
>
> Time Spent: 10h
> Remaining Estimate: 0h
>
> 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|http://mail-archives.apache.org/mod_mbox/calcite-dev/201712.mbox/%3CCAPSgeESFyih9_hf9=uMWFN00BCR7sjf0T+FRY2=ary3ygm1...@mail.gmail.com%3E])
> 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.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)