Re: [BUGS] documentation bug - behave of NEW a OLD in plpgsql's triggers

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Josh Kupershmidt <schmiddy(at)gmail(dot)com>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, pgsql-docs <pgsql-docs(at)postgresql(dot)org>
Subject: Re: [BUGS] documentation bug - behave of NEW a OLD in plpgsql's triggers
Date: 2011-09-07 13:40:19
Message-ID: CAFj8pRCfe6doaipkG7h_Pvr5vR0+4qArwxda7ZQTKruG5s0DfQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-docs

2011/9/7 Josh Kupershmidt <schmiddy(at)gmail(dot)com>:
> On Tue, Sep 6, 2011 at 10:54 PM, Bruce Momjian <bruce(at)momjian(dot)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
>

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message John R Pierce 2011-09-07 19:02:07 Re: In Windows Server 2008 PostgreSQL8.3 service on Local Computer started and then stopped.
Previous Message Bruce Momjian 2011-09-07 13:24:27 Re: [BUGS] documentation bug - behave of NEW a OLD in plpgsql's triggers

Browse pgsql-docs by date

  From Date Subject
Next Message Bruce Momjian 2011-09-07 21:48:36 Re: createuser/dropuser username
Previous Message Bruce Momjian 2011-09-07 13:24:27 Re: [BUGS] documentation bug - behave of NEW a OLD in plpgsql's triggers