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>)