Re: Column defaults fail with rules on view

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Richard Huxton <dev(at)archonet(dot)com>
Cc: btober(at)seaworthysys(dot)com, pgsql-general(at)postgresql(dot)org
Subject: Re: Column defaults fail with rules on view
Date: 2003-09-19 15:04:05
Message-ID: 19642.1063983845@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Richard Huxton <dev(at)archonet(dot)com> writes:
> On Friday 19 September 2003 09:00, btober(at)seaworthysys(dot)com wrote:
>> Is this supposed to work that way? I would expect field3 and field4 to
>> have their respective column defaults assigned on the second INSERT (row
>> B), just like on the first INSERT (row A).

> Hmm - well, you're explicitly telling it to insert VALUES (..., new.field3,
> ...) so if new.field3 is null then it *should* do that.

Exactly. The defaults attached to the underlying table determine what
gets added to an INSERT into the underlying table. In this case, since
the rule's INSERT specifies all the fields, there is no scope for those
defaults to apply.

What Berend actually wants is to attach column defaults to the *view*,
so that they apply to an INSERT mentioning the view. You can do this in
recent PG releases (7.3 for sure, not sure about 7.2) using ALTER TABLE
... ADD DEFAULT.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2003-09-19 15:18:27 Re: Zend survey result about dbms...
Previous Message Tom Lane 2003-09-19 14:50:15 Re: Why does adding SUM and GROUP BY destroy performance?