Re: [GENERAL] Re: Postgresql OO Patch

From: Chris Bitmead <chrisb(at)nimrod(dot)itg(dot)telstra(dot)com(dot)au>
To: Marten Feldtmann <marten(at)feki(dot)toppoint(dot)de>
Cc: "Robert B(dot) Easter" <reaster(at)comptechnews(dot)com>, Peter Eisentraut <peter_e(at)gmx(dot)net>, Postgres Hackers List <hackers(at)postgresql(dot)org>, pgsql-general(at)postgresql(dot)org
Subject: Re: [GENERAL] Re: Postgresql OO Patch
Date: 2000-05-23 23:55:10
Message-ID: 392B1A5E.466EB9EB@nimrod.itg.telecom.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers


> - the OID (SEQUENCE's) are useless (ok, I say it again and again). Give
> PostgreSQL the OID and ask PostgreSQL to return the attributes of this
> object. Perhaps even with class informations !
>
> PostgreSQL is not able to do that ! Think about this and you see
> the usage of the OID in perhaps a different way :-)
>
> Therefore: for object system you need complete other types of object
> identification numbers.

I agree, that's why I have suggested an implied super-class "Object" for
all postgresql objects. Then you could do "SELECT ** FROM object WHERE
oid=?". The ability to place an index over sub-class hierarchies (in
this case oid for all objects) would get the good performance.

> - query over a hierarchy of classes ! See the example above ! Until
> you're not able to return multiple sets you get too much garbage or
> you need to many queries or you need much more disc-space, depending
> of the way you wrap classes to tables. This feature is a CRITICAL
> one ! This may push the performance, depending how it is done.

Yep.

> - for associations (m:n) I still need additional help tables, but
> that is ok :-)

Actually, postgres can have arrays of oids which is the ODBMS way of
handling associations. Last I looked there are some contrib functions
for doing things like ...

CREATE TABLE foo( bar [] );
CREATE TABLE bar( ... etc);
SELECT bar.** from bar, foo where array_in(bar.oid, foo.bar) and
foo.oid=?". In other words, to retrieve all the objects in a list.
(forget the actual function name).

> - no support for tree structures !

AGAIN AGREE! Original postgres had a syntax "SELECT* from foo" to get a
transitive closure on a tree! Why this was removed (argh!) I can only
guess.

> - more powerful statements DDL to change the structure of a database !

Yep, important.

> - no support to inform the client about changes inthe database !

Havn't even looked at that.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Philip Hallstrom 2000-05-24 00:35:28 TO_DATE and single digit months driving me nuts...
Previous Message Tom Lane 2000-05-23 22:51:35 Re: Explain auth/access/priv system??

Browse pgsql-hackers by date

  From Date Subject
Next Message Chris Bitmead 2000-05-24 00:00:46 Re: SQL3 UNDER
Previous Message Alfred Perlstein 2000-05-23 23:54:44 Re: setproctitle()