Received: from localhost (maia-5.hub.org [200.46.204.182]) by postgresql.org (Postfix) with ESMTP id C2BED9FB78B for ; Fri, 20 Apr 2007 10:39:49 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.182]) (amavisd-maia, port 10024) with ESMTP id 62762-04-2 for ; Fri, 20 Apr 2007 10:39:38 -0300 (ADT) X-Greylist: delayed 00:24:50.005881 by SQLgrey-1.7.4 Received: from svr4.postgresql.org (svr4.postgresql.org [66.98.251.159]) by postgresql.org (Postfix) with ESMTP id 011979FB9B2 for ; Fri, 20 Apr 2007 10:39:43 -0300 (ADT) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.3 Received: from matrix.gatewaynet.com (host2.dynacom.ondsl.gr [62.103.35.210]) by svr4.postgresql.org (Postfix) with ESMTP id 786485AF885 for ; Fri, 20 Apr 2007 13:14:52 +0000 (GMT) Received: from host3.dynacom.ondsl.gr ([62.103.35.211] helo=ip216.internal.net) by matrix.gatewaynet.com with esmtp (Exim 4.62) (envelope-from ) id 1Heswn-0000sX-OL for pgsql-sql@postgresql.org; Fri, 20 Apr 2007 16:14:45 +0300 From: Achilleas Mantzios Organization: Dynacom Tankers Mgmt To: pgsql-sql@postgresql.org Subject: Re: We all are looped on Internet: request + transport =?utf-8?q?=3D=09invariant?= Date: Fri, 20 Apr 2007 16:14:43 +0300 User-Agent: KMail/1.9.3 References: <14110647859.20070413105812@narod.ru> <1177072978.760.40.camel@pampa> <4628B6FD.1030209@archonet.com> In-Reply-To: <4628B6FD.1030209@archonet.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200704201614.44007.achill@matrix.gatewaynet.com> X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200704/184 X-Sequence-Number: 28184 Just some thoughts on the matter: Dmitry, you should acknowledge the fact that in databses you have two kinds of hierarchies: a) The hierarchy denoted by the referential constraints between tables which constitute a Directed Graph (DG), with tables as nodes and FKeys as arrows. b) Hierarchies applying to data, e.g. create table ppl ( id serial PRIMARY KEY, name text not null, parentid integer REFERENCES ppl(id) ); (with GOD himself having parentid = null :). I think that the second type is of interest at the application level. (For system applications however, such as DB mirroring the first type of table hierarchy is important as well). Speaking of postgresql there is a fine package by the GiST/tsearch creators, contrib/ltree whose main task is to provide the primitives (functions/operators) for tree manipulation. Dont know if i am irrelevant in this thread, but i hope i helped a little bit. -- Achilleas Mantzios