Re: WITH RECURSIVE patch V0.1

Zoltan Boszormenyi <[email protected]>
Newsgroups gmane.comp.db.postgresql.devel.patches,gmane.comp.db.postgresql.devel.general
Message-ID <[email protected]>
Gregory Stark írta:
> This is indeed really cool. I'm sorry I haven't gotten to doing what I
> promised in this area but I'm glad it's happening anyways.
>
>
> "Zoltan Boszormenyi" <[email protected]> writes:
>
>   
>> Can we get the rows in tree order, please? 
>> ...
>> After all, I didn't specify any ORDER BY clauses in the base, recursive or the
>> final queries.
>>     
>
> The standard has a clause to specify depth-first order. However doing a
> depth-first traversal would necessitate quite a different looking plan and
> it's far less obvious (to me anyways) how to do it.
>   

That would be even cooler to have it implemented as well.

>> Also, it seems there are no infinite recursion detection:
>>
>> # with recursive x(level, parent, child) as (
>>    select 1::integer, * from test_connect_by where parent is null
>>    union all
>>    select x.level + 1, base.* from test_connect_by as base, x where base.child
>> = x.child
>> ) select * from x;
>> ... it waits and waits and waits ...
>>     
>
> Well, psql might wait and wait but it's actually receiving rows. A cleverer
> client should be able to deal with infinite streams of records. 
>   

I think it's the other way around. The server should not emit infinite 
number of records.

> I think DB2 does produce a warning if there is no clause it can determine will
> bound the results. But that's not actually reliable. It's quite possible to
> have clauses which will limit the output but not in a way the database can
> determine. Consider for example a tree-traversal for a binary tree stored in a
> recursive table reference. The DBA might know that the data contains no loops
> but the database doesn't.
>   

Well, a maintenance resjunk could be used like the branch column in 
tablefunc::connectby().

-- 
----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
http://www.postgresql.at/



-- 
Sent via pgsql-patches mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-patches
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.