Re: Inheritance - Mailing list pgsql-hackers

From Ross J. Reedstrom
Subject Re: Inheritance
Date
Msg-id 20020814151757.GA11021@rice.edu
Whole thread Raw
In response to Re: Inheritance  (Greg Copeland <greg@CopelandConsulting.Net>)
Responses Re: Inheritance  (Greg Copeland <greg@CopelandConsulting.Net>)
Re: Inheritance  (Rod Taylor <rbt@zort.ca>)
List pgsql-hackers
On Wed, Aug 14, 2002 at 09:39:06AM -0500, Greg Copeland wrote:
> On Tue, 2002-08-13 at 23:43, Curt Sampson wrote:
> > Just my opinion of course, but I think it would be best to have a
> > detailed description of how everything in inheritance is supposed to
> > work, write a set of tests from that, and then fix the implementation to
> > conform to the tests.
> > 
> > And I think a detailed description comes most easily when you have
> > a logical model to work from.
> 
> I completely agree.  This is why I want/wanted to pursue the theory and
> existing implementations angle.

In theory, it sounds like a good idea. In practice ... ;-)

> Seems like everyone trying to jump on "index spanning" is premature.

Seems like some people haven't looked at the history of the OO
implementation in PostgreSQL.

Actually, I think you'll find that once a PostgreSQL DBA gets to
the point of designing a sufficently complex schema that inheritance
might be useful, they quickly bump up against the lack of index and
constraint spanning (most notably, referential integrity), and stop
right there. This means that there is little community experience with
the existing implementation, beyond the OO die hards. ;-)

I'm not sure, but Bruce's suggestion of getting index spanning working
first might move the existing implementation over the hump from
'interesting toy' to 'less than perfect implementation'. Then, the
community can get some real world experience.

Bruce has archived some of the emails - check your local pgsql source tree,
under <$PGSQLHOME>/doc/TODO.detail/inheritance

There was also some theoretical OO discussion, back when the change for
default SELECT behavior on an inhertiance tree was made. (You used to
have to say: SELECT foo from parent* to get foo from the parent and all
children) Take a look at the archives and see if there's anything in that
discussion that interests you: providing summary posts of old discussions
is often a good way to restart and move an unresolved topic along.

Ross


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: OOP real life example (was Re: Why is MySQL more
Next
From: Joe Conway
Date:
Subject: Re: Inheritance