Thread: PostgreSQL TO-DO List (fwd)

PostgreSQL TO-DO List (fwd)

From
Bruce Momjian
Date:
Can someone comment on this?  I don't understand it.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
Hi! Bruce,

Many thanks to your great contributions to Pgsql
projects.

I cannot find the following to-fix bug in section
"SERVER-SIDE LANGUAGES" in "PostgreSQL TO-DO List".

Please also refer to:
"Example 23-4. A PL/pgSQL Function on Composite Type"
in integrated on-line document.

Best Regards,

CN

=========================
create table test(f1 integer,f2 integer);
CREATE FUNCTION fun1(test) RETURNS BOOLEAN AS '
DECLARE
  f1 FOR $1.f1;
  f2 FOR $1.f2;
  integer sum;
BEGIN
  sum:=f1+f2;
  raise notice ''f1+f2'',sum;
  RETURN TRUE;
END;' LANGUAGE 'plpgsql';
-----------------------
CREATE FUNCTION fun2() RETURNS OPAQUE AS '
BEGIN
  PERFORM fun1(NEW);
  RETURN NEW;
END;' LANGUAGE 'plpgsql';

CREATE TRIGGER ttest AFTER INSERT ON test FOR EACH
ROW EXECUTE PROCEDURE fun2();
insert into test values(1,2);


NOTICE:  Error occurred while executing PL/pgSQL
function fun2
NOTICE:  line 2 at assignment
ERROR:  NEW used in non-rule query

--------------------------------------------------------
You too can have your own email address from Eurosport.
http://www.eurosport.com







Re: PostgreSQL TO-DO List (fwd)

From
Vince Vielhaber
Date:
On Sun, 3 Mar 2002, Bruce Momjian wrote:

> Can someone comment on this?  I don't understand it.
>
>

The example being referred to is here:

http://www.us.postgresql.org/users-lounge/docs/7.2/postgres/plpgsql-examples.html

Scroll to the bottom.  Unfortunately I can't go back and read his
comment with the terminal I'm using.

Vince.
--
==========================================================================
Vince Vielhaber -- KA8CSH    email: vev@michvhf.com    http://www.pop4.net
         56K Nationwide Dialup from $16.00/mo at Pop4 Networking
        Online Campground Directory    http://www.camping-usa.com
       Online Giftshop Superstore    http://www.cloudninegifts.com
==========================================================================




Re: PostgreSQL TO-DO List (fwd)

From
Tom Lane
Date:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Can someone comment on this?  I don't understand it.

He's complaining that a whole-row reference to NEW doesn't work
in a plpgsql trigger.  He's right.

            regards, tom lane

Re: PostgreSQL TO-DO List (fwd)

From
Bruce Momjian
Date:
Vince Vielhaber wrote:
> On Sun, 3 Mar 2002, Bruce Momjian wrote:
>
> > Can someone comment on this?  I don't understand it.
> >
> >
>
> The example being referred to is here:
>
> http://www.us.postgresql.org/users-lounge/docs/7.2/postgres/plpgsql-examples.html
>
> Scroll to the bottom.  Unfortunately I can't go back and read his
> comment with the terminal I'm using.

The current query in this section is:

    CREATE FUNCTION c_overpaid (EMP, INTEGER) RETURNS BOOLEAN AS '
        DECLARE
            emprec ALIAS FOR $1;
            sallim ALIAS FOR $2;
        BEGIN
            IF emprec.salary ISNULL THEN
                RETURN ''f'';
            END IF;
            RETURN emprec.salary > sallim;
        END;
    ' LANGUAGE 'plpgsql';

Looks OK to me.  Seems it has been updated since the report.  I can't
find a mention of fun1 or fun2 anywhere in the docs anymore.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026