Re: plpgsql/rule question - Mailing list pgsql-general

From Tom Lane
Subject Re: plpgsql/rule question
Date
Msg-id 6573.1105501214@sss.pgh.pa.us
Whole thread Raw
In response to plpgsql/rule question  ("Ed L." <pgsql@bluepolka.net>)
Responses Re: plpgsql/rule question  ("Ed L." <pgsql@bluepolka.net>)
List pgsql-general
"Ed L." <pgsql@bluepolka.net> writes:
> For example, if I have the following table:

>     create table foo(id serial, msg varchar)

> Is it possible to distinguish within plpgsql between these two queries?

>     insert into foo (msg) values ('Hello')
>     insert into foo (id, msg) values (NULL, 'Hello')

Well, yes, because the default value in the former case will not be
NULL.  But in general a trigger function cannot tell whether a field
value that happens to equal the default was explicitly specified or
defaulted.  All it can see is the proposed field value; not how that
value was arrived at.

            regards, tom lane

pgsql-general by date:

Previous
From: "Ed L."
Date:
Subject: plpgsql/rule question
Next
From: Tom Lane
Date:
Subject: Re: Bug in pg_dump in 7.4.6?