2011/9/7 Josh Kupershmidt <schmiddy@gmail.com>:
> On Tue, Sep 6, 2011 at 10:54 PM, Bruce Momjian <bruce@momjian.us> wrote:
>> Josh Kupershmidt wrote:
>>> How about a doc tweak like the attached?
>>
>> Perfect. Applied to 9.0, 9.1, and head. Thanks. Sorry for the delay.
>
> Err, as Tom's first comment in this thread explains, Pavel and I were
> both wrong: the variables in question are indeed NULL, not undefined.
> I think the docs were fine the way they were.
There is maybe bug - these variables are defined, but they has not
assigned tupledesc, so there is not possible do any test
postgres=# create table omega (a int, b int);
CREATE TABLE
postgres=# create or replace function foo_trig()
postgres-# returns trigger as $$
postgres$# begin
postgres$# raise notice '%', new;
postgres$# return null;
postgres$# end;
postgres$# $$ language plpgsql;
CREATE FUNCTION
postgres=# create trigger xxx after delete on omega for each row
execute procedure foo_trig();
CREATE TRIGGER
postgres=# insert into omega values(20);
INSERT 0 1
postgres=# delete from omega;
ERROR: record "new" is not assigned yet
DETAIL: The tuple structure of a not-yet-assigned record is indeterminate.
CONTEXT: PL/pgSQL function "foo_trig" line 3 at RAISE
so current text in documentation is not correct too.
Regards
Pavel Stehule
>
> Josh
>