Re: triggers vs. 'NEW in non-rule query' -- SOLVED? - Mailing list pgsql-general

From Jan Wieck
Subject Re: triggers vs. 'NEW in non-rule query' -- SOLVED?
Date
Msg-id 200103080654.BAA13596@jupiter.jw.home
Whole thread Raw
In response to triggers vs. 'NEW in non-rule query' -- SOLVED?  (will trillich <will@serensoft.com>)
Responses Re: triggers vs. 'NEW in non-rule query' -- SOLVED?
List pgsql-general
will trillich wrote:
>
> i THINK i've got it! MWAAH HA HA...
>

    Congrats

> i follow the example from the postgresql-doc/html/user/c4*40.html
> document and define a function to be called via TRIGGER...
>
>    CREATE FUNCTION easy() RETURNS OPAQUE AS '
>    DECLARE
>         x CHAR(1) := NEW.somefield FROM 1 FOR 1;
>    BEGIN
>         -- whatever, yada yada, bada bing bada boom
>         RETURN NEW;
>    END;
>    ' language 'plpgsql';

    Grmpf - exactly that's missing in the "#option dump" output -
    the   calculation   of   default    values    for    variable
    initialization.  I  was looking at your log-snippent over and
    over again and couldn't see it :-)

>
> and this results in "ERROR: use of NEW in non-rule procedure"
> when actually called via TRIGGER. i change it instead to
>
>    CREATE FUNCTION easy() RETURNS OPAQUE AS '
>    DECLARE
>         x CHAR(1); -- no := assignment here
>    BEGIN
>         x := NEW.somefield FROM 1 FOR 1;
>         -- whatever, yada yada, bada bing bada boom
>         RETURN NEW;
>    END;
>    ' language 'plpgsql';
>
> and suddenly all is right with the world. so i can't refer to the
> NEW (or probably OLD) pseudotables WITHIN THE DECLARE section.
> apparently.
>
> Q: is this a bug? is this a feature?

    A missing feature, and something  that  should  be  on  7.2's
    TODO.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #



_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: length of insert stmt?
Next
From: Bruce Momjian
Date:
Subject: Re: triggers vs. 'NEW in non-rule query' -- SOLVED?