There's a nice simple book from 1999 by Stonebreaker and a technologist
form Informix about object-relational features. PostgreSQL has
definately started to lag on that front, while shoring up other aspects
of the RDBMS. A simple (simple?) start might just be supporting dot
notation and other syntactical niceties around the table-as-column concept.
We have recently had an opportunity to evaluate the object relational
capabilities of Oracle9i, and sad to say, they have finally surpassed
PgSQL on the OO front in this release. Very easy composite type creation
on the command line, composite types are easily indexable based on their
attributes (a custom type which wraps a spatial type can be indexed
spatially, etc), function adding is easy too. Now, adding completely new
types in C might be hell, but we haven't checked that yet :)
P.
Karel Zak wrote:
> Hi,
>
> I read a presentation about Object-Oriented features in relation DBs.
> The nice are UDT (user defined type):
>
> CREATE TABLE person (
> name varchar(32),
> address ROW( street varchar(32),
> town varchar(32)),
> age int
> );
>
> INSERT INTO person VALUES ('Bill', ('Somestreet', 'Sometown'), 33);
>
> SELECT name, address.town FROM person;
>
>
> We have composite types in PostgreSQL and I think we can use it for this:
>
> CREATE TYPE addr AS (street varchar(32), town varchar(32));
> CREATE TABLE person (
> name varchar(32),
> address addr,
> age int
> );
>
>
> Comments? I nothinig found about OO in the current TODO. BTW, my
> examples are only small part of possible OO features, the others
> ideas are for example define PRIVATE/PUBLIC attributes in composite
> types and methods, "SELECT p.name FROM person p WHERE p.pay->tax() > 100;"
>
> Karel
>
-- __ / | Paul Ramsey | Refractions Research | Email: pramsey@refractions.net | Phone: (250)
885-0632 \_