pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Hannu Krosing <hannu@trust.ee>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Chris Bitmead <chris@tech.com.au>
Cc: pgsql-hackers@postgreSQL.org
Cc: pgsql-sql@postgreSQL.org
Cc: pgsql-general@postgreSQL.org
Subject: Re: [HACKERS] inheritance
Date: Wed, 21 Jul 1999 19:26:00 +0300
Message-ID: <3795F498.9057301F@trust.ee> (raw)
References: <1812.932569176@sss.pgh.pa.us>

Tom Lane wrote:
> 
> Chris Bitmead <chris@tech.com.au> writes:
> > To me this is a much better idea. In any proper OO application you would
> > be using the "*" in postgres 99% of the time - that being the whole
> > point of OO.

And considering that the Informix OO is probably really
Illustra/Postgres OO,
this is most likely what PostgreSQL was meant to do in the first place.

> > Does any consideration want to be given to making the same
> > change while there's not too many people using the inheritance feature?
> 
> What makes you think there's "not too many people" using inheritance?

The poor shape the PostgreSQL inheriatnce (and OO in general) is in ?

> Furthermore, if we did that it would break the code of people who
> *didn't* think they were using inheritance, except as a means of
> copying table definitions (which I do a lot, btw).

This use is to real inheritance as (MS win) cooperative multitasking 
is to real multitasking; when you stick to it too much, you will 
never have the real one.

> I don't think we can reverse the default on that at this late date.

Maybe we should then need some other construct for _real_ inheritance?
A keyword like EXTENDS or something. 
What does ANSI SQL3 say on inheritance?

> > The other thing Informix does is automatically propagate all attributes
> > including indexes, constraints, pretty much everything to sub-classes.
> > Again.. I think this is the right thing. Any thoughts?
> 
> I'd be inclined to agree on that, or at least say that we ought to
> provide a simple way of making it happen.  But the right semantics
> are not always obvious.  For example, if the ancestor has a SERIAL
> column, do the derived tables get their own sequence objects or
> share the ancestor's?

The ancestors sequence of course (ain't I smart <grin> ;)

> Does your answer change if the serial column
> was created "by hand" with a "DEFAULT nextval('some_sequence')" clause?

It should not, else the column would not be _relly_ inherited.

And as we do not have any way change any constraits/defaults after table 
creation this problem could be postponed to some later date.

btw, is ALTER TABLE ADD/DROP CONSTRAINT, and changing column defaults 
planned for 6.6 ?

OTOH, I'm not sure if DROP TABLE should also drop all inherited tables
too?
My guess is that it should by default (disabled by ONLY ?) - what does
Informix do?

> I suspect that any way we jump on this sort of question will be wrong
> for some apps, so it should be possible to suppress system copying of
> attributes...

maybe we should have a TEMPLATE in addition to INHERITS ?

> 
>                         regards, tom lane



view thread (18+ messages)  latest in thread

Message-ID: <3795F498.9057301F@trust.ee>
Permalink:  ../3795F498.9057301F@trust.ee/
Also on:    postgresql.org/message-id/3795F498.9057301F@trust.ee

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: hannu@trust.ee, tgl@sss.pgh.pa.us, chris@tech.com.au, pgsql-hackers@postgreSQL.org, pgsql-general@postgreSQL.org
  Subject: Re: [HACKERS] inheritance
  In-Reply-To: <3795F498.9057301F@trust.ee>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox