Re: lastval() - Mailing list pgsql-patches

From Alvaro Herrera
Subject Re: lastval()
Date
Msg-id 20050511124535.GB7133@surnet.cl
Whole thread Raw
In response to Re: lastval()  ("John Hansen" <john@geeknet.com.au>)
List pgsql-patches
On Wed, May 11, 2005 at 02:08:16PM +1000, John Hansen wrote:

> Take for instance this (overly simplified) function used in a program
> that builds the query strings dynamically:
>
> int64 runquery(char *query) {
>     PQexec(query);
>     result = Pqexec("SELECT lastval()");
>     return result;
> }
>
> The program expects this function to return the 'id' that was inserted,
> or 0 if the table didn't contain a sequence or it wasn't an insert.
>
> Rewriting that would take a considerable effort.

Actually, having it throw an error would be helpful, because then you
can find in the application which calls should be replaced by the
generic runquery() that has to return nothing versus the one that has to
return a sequence value.  So porting is a little more involved but
more useful in the end.

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)

pgsql-patches by date:

Previous
From: Mahmoud Taghizadeh
Date:
Subject: Where is Translation of "FARSI" FAQ?
Next
From: a_ogawa
Date:
Subject: AllocSetReset improvement