Re: Proposal of hierarchical queries, a la Oracle

From: Evgen Potemkin <evgent(at)ns(dot)terminal(dot)ru>
To: Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>
Cc: <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Proposal of hierarchical queries, a la Oracle
Date: 2002-11-16 11:30:41
Message-ID: Pine.LNX.4.33.0211161449110.29721-100000@ns.terminal.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

I was have made a module like ltree, i don't know how you implement it,
but mine doesn't fit.

The problem : for ex. you need to select a tree, but with childs of
each parent is sorted.
in my module i've defined a tree path as set of
numbers separated by dot ('1.234.456.789'::hier for ex.), a comparision
operators <,>,<=,<=,= , operators for checking for ancestors/descedants
<<,>>,<<=,>>=.
create table t (field text, node::hier);
then i do "select field from t where where node <<'1' order by node";
'order by' - for tuples being in order of tree (first is root,then first
child, then first child of first child, .. so on). works perfectly well.

THE MATTER OF PROBLEM:
tuples can't be sorted alphabetically by 'field', because of 'order by node'
clause. 'order by node,field' doesn't really work because 'node' is first
key, if 'order by field,node' - then we don't get a tree.

if i do nodes on one level is equal, then childs of one node in some cases
are migrate to another node of same level :) as far as i understand problem
is in pg's sort. it's not a bug but feature of sort alghorithm.

The minor problem is that such tree a bit difficult to maintain. for ex. if i need
to move some node to elsewhere in tree, i need to update all childs, sub
childs, ... of this node.

regards
---
.evgen

On Fri, 15 Nov 2002, Oleg Bartunov wrote:

> Evgen,
>
> you'd need to post your message and patch to hackers mailing list.
> btw, did you try contrib/ltree module ?
>

> Regards,
> Oleg
> _____________________________________________________________
> Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
> Sternberg Astronomical Institute, Moscow University (Russia)
> Internet: oleg(at)sai(dot)msu(dot)su, http://www.sai.msu.su/~megera/
> phone: +007(095)939-16-83, +007(095)939-23-83
>
>

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Tomasz Myrta 2002-11-16 11:56:28 Re: Chaning locale sorting order for statements
Previous Message pginfo 2002-11-16 11:01:58 Re: Chaning locale sorting order for statements