Re: Open 7.1 items - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: Open 7.1 items
Date
Msg-id Pine.LNX.4.30.0102142124530.1112-100000@peter.localdomain
Whole thread Raw
In response to Re: Open 7.1 items  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: Open 7.1 items  (Bruce Momjian <pgman@candle.pha.pa.us>)
GET DIAGNOSTICS (was Re: Open 7.1 items)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Bruce Momjian writes:

> > Bruce Momjian writes:
> >
> > > New PL/pgSQL GET DIAGNOSTICS statement for SPI value access (Jan)
> >
> > If someone can show me an example of how it operates I can write up
> > something.
>
> I found:
>
>   > Quoting a recent message by Jan Wieck <janwieck@Yahoo.com>:
>   > :Do a
>   > :
>   > :    GET DIAGNOSTICS SELECT PROCESSED INTO <int4_variable>;
>   > :
>   > :directly  after  an  INSERT,  UPDATE  or DELETE statement and you'll know
>   > :how many rows have been hit.
>   > :
>   > :Also you can get the OID of an inserted row with
>   > :
>   > :    GET DIAGNOSTICS SELECT RESULT INTO <int4_variable>;
>   >
>
> Looking at plpgsql/src/gram.y, it only supports PROCESSED (rows
> returned/affected) and RESULT (OID).  The grammar indicates that only
> SELECT is allowed in GET DIAGNOSTICS SELECT.  Jan says it works for
> INSERT/UPDATE/DELETE too, but I guess you still use GET DIAGNOSTICS
> SELECT.

May I suggest that this is the wrong syntax?  It should be

GET DIAGNOSTICS <variable> = ROW_COUNT;

See SQL99 part 2, clause 19.1.

-- 
Peter Eisentraut      peter_e@gmx.net       http://yi.org/peter-e/



pgsql-hackers by date:

Previous
From: Thomas Lockhart
Date:
Subject: Re: Open 7.1 items
Next
From: Tom Lane
Date:
Subject: Re: Open 7.1 items