UPDATE ... SET <col> = DEFAULT

From: Rod Taylor <rbt(at)rbt(dot)ca>
To: PostgreSQL Patches <pgsql-patches(at)postgresql(dot)org>
Subject: UPDATE ... SET <col> = DEFAULT
Date: 2003-06-10 11:42:42
Message-ID: 1055245361.56597.25.camel@jester
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

Modify rewriteTargetList() to deal with a SetToDefault node
InsertDefault renamed.

Teach updateTargetListEntry() to use the columns type rather than
calling exprType for it, since SetToDefault does not have a type but is
stored in (TargetEntry *)->expr

Remove special case in insert code. Let the default request flow
through the same as the update case.

On Thu, 2003-06-05 at 16:45, Tom Lane wrote:
> Rod Taylor <rbt(at)rbt(dot)ca> writes:
> > It would seem a new primnode (change InsertDef into SetDefault or
> > similar) will be required with some executor logic.
>
> It is not the executor's business to know about defaults. The rewriter
> is the place where defaults get inserted - see rewriteTargetList().
>
> Note that default NULL will have to be treated a little differently from
> what we do for INSERT, since the, um, default behavior of UPDATE is to
> preserve columns rather than replace 'em with nulls.
>
> regards, tom lane

--
Rod Taylor <rbt(at)rbt(dot)ca>

PGP Key: http://www.rbt.ca/rbtpub.asc

Attachment Content-Type Size
updatesetdefault.patch text/x-patch 12.8 KB

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Jeffrey W. Baker 2003-06-10 21:15:58 Re: Thousands of semops for every i/o
Previous Message Ased Mustafa 2003-06-10 09:26:49 Ant Delete