| From: | ncm(at)zembu(dot)com (Nathan Myers) |
|---|---|
| To: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: Re: Changing the default value of an inherited column |
| Date: | 2001-03-29 20:46:47 |
| Message-ID: | 20010329124647.E3797@store.zembu.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Thu, Mar 29, 2001 at 02:29:38PM +0100, Oliver Elphick wrote:
> Peter Eisentraut wrote:
> >Tom Lane writes:
> >
> >> It seems that in pre-7.0 Postgres, this works:
> >>
> >> create table one(id int default 1, descr text);
> >> create table two(id int default 2, tag text) inherits (one);
> >>
> >> with the net effect that table "two" has just one "id" column with
> >> default value 2.
> >
> >Although the liberty to do anything you want seems appealing at first, I
> >would think that allowing this is not correct from an OO point of view.
>
> I don't agree; this is equivalent to redefinition of a feature (=method) in
> a descendant class, which is perfectly acceptable so long as the feature's
> signature (equivalent to column type) remains unchanged.
The O-O principle involved here is Liskov Substitution: if the derived
table is used in the context of code that thinks it's looking at the
base table, does anything break?
Changing the default value of a column should not break anything,
because the different default value could as well have been entered
in the column manually.
Nathan Myers
ncm(at)zembu(dot)com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Oliver Elphick | 2001-03-29 21:47:13 | Re: INSERT/SELECT with ORDER BY and LIMIT in 7.1? |
| Previous Message | The Hermit Hacker | 2001-03-29 20:21:58 | RC2 schedualed for Tomorrow evening ... |