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