Re: Re: [HACKERS] Postgresql OO Patch - Mailing list pgsql-general

From Marten Feldtmann
Subject Re: Re: [HACKERS] Postgresql OO Patch
Date
Msg-id 200005232102.XAA06225@feki.toppoint.de
Whole thread Raw
In response to Re: [HACKERS] Postgresql OO Patch  ("Robert B. Easter" <reaster@comptechnews.com>)
List pgsql-general
> the tree.  If you do a "SELECT * FROM supertable*" (for example, if you were to
> redefine table* to mean select heterogeneous rows), what row will you get for a
> row that exists in a leaf?  The same row is in all tables between supertable
> and the leaf.  I suppose it would be necessary to have the query check each row
> and see how far down the tree it goes, or the system keeps track of that and
> returns the row-type from the table that inserted it.  OR, there could be some
> extra specifier like "SELECT * FROM supertable DIGGING TO LEVEL 3".  In this
> case, it would only look down into the tree to 3 levels below supertable and
> you'd never get row-types that are down lower than level 3.  Anyhow, I still
> don't think returning multple row-types is going to happen, not that I have any
> authority one way or the other!  :-)
>
> --
> Robert B. Easter
> reaster@comptechnews.com
>

 Your example is a very good example, that shows, why multiple result
sets are needed to get a very good object-oriented system !

 Everyone here on this lists should think about: "What do we expect
from on object-oriented extension and how can it help me to improve my
system".

 As an example: My software background is Smalltalk and relational-
and object-oriented databases. Now I use relational databases and from
this technology I use only a small part to do my mapping.

 After reading all the postings here on the lists I looked at my
wrapper and asked myself: how would it benefit from an oo-extension.

 And the result was pretty much frustrated:

 - 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.

 - 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.

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

 - no support for tree structures !

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

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

 And that's it ! All the other stuff mentioned here are syntactical
sugar for people doing object-oriented database queries over pgsql
or hoping to structure their work - but I do not see, that it's
a real win.

 Very frustrating !


 Marten Feldtmann


pgsql-general by date:

Previous
From: Francisco Hernandez
Date:
Subject: postgresql on macosx server?
Next
From: Tom Lane
Date:
Subject: Re: Can't delete Null value from a not null field