Inheritance Semantics

From: Mark Butler <butlerm(at)middle(dot)net>
To: pgsql-sql(at)postgresql(dot)org
Subject: Inheritance Semantics
Date: 2001-04-10 01:59:56
Message-ID: 3AD2691C.35AD23F3@middle.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Could someone (Chris Mead?) post an update on the status of fixing
PostgreSQL's inheritance semantics in the following ways:

Has a decision been made to implementing true inheritance via INHERITS or an
alternative keyword?

By true inheritance, I mean first and foremost that any query on a super-class
should query *all members* of that class by default regardless of which table
they are stored in. Any other behavior violates the very natural expectation
that a table called "PERSON" actually implements the class of all persons.

Second, for performance reasons, there needs to be a way for an index on a
parent class attribute to be shared by all the tables that implement or
inherit from that parent class. This is also necessary to enforce unique
constraints on all members of a class.

I imagine that the current implementation of "SELECT column FROM table*" is a
logical UNION ALL of the select statement applied to each sub table, using
different indexes for each one - Is this correct?

Third, all declarative constraints on a parent class should be enforced
against all members of all sub-classes without exception.

Fourth, someday it would be nice to be able to create object methods & member
functions that operate in the context of a single object. Does anyone know if
the OQL supports this capability?

I understand the backwards compatibility issue with the current semantics.
Rather than adding some sort of run-time setting, I think it would be much
better to add a new keyword / extension to the DDL syntax so that true ODMG
style inheritance can be implemented correctly without breaking old
applications.

Any comments would be appreciated.

- Mark Butler

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Roberto Mello 2001-04-10 02:40:57 Re: Sorting and then...
Previous Message Wei Weng 2001-04-09 23:22:52 Sorting and then...