[ 
https://issues.apache.org/jira/browse/CALCITE-2812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16761557#comment-16761557
 ] 

Ruben Quesada Lopez commented on CALCITE-2812:
----------------------------------------------

[~wmoustafa], we can take for example RelBuilderTest#testRecursiveUnion2() in 
the PR. In that test we build a plan to compute the factorial function from 0 
to 7, which generates the following tree (RecursiveUnion with Values as "seed" 
part and DeltaTableScan + Filter + Project as "recursive" part):
{code}
LogicalRecursiveUnion(all=[true], tableName=[AUX])
    LogicalValues(tuples=[[{ 0, 1 }]])
    LogicalProject(n=[+($0, 1)], fact=[*(+($0, 1), $1)])
        LogicalFilter(condition=[<($0, 7)])
            LogicalDeltaTableScan(table=[[AUX]])
{code}

> 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: Julian Hyde
>            Priority: Major
>             Fix For: next
>
>
> 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)

Reply via email to