Re: calling currval() before nextval() patch adding - Mailing list pgsql-patches

From Rod Taylor
Subject Re: calling currval() before nextval() patch adding
Date
Msg-id 1099870771.74062.19.camel@home
Whole thread Raw
In response to calling currval() before nextval() patch adding currval_isset()  (John Hansen <john@geeknet.com.au>)
Responses Re: calling currval() before nextval() patch adding  (John Hansen <john@geeknet.com.au>)
List pgsql-patches
On Sun, 2004-11-07 at 17:21, John Hansen wrote:
> Hi list,
>
> attached, cvs context diff that adds currval_isset('sequence_name');


> With this patch, I can now call currval_isset to determine if I need to
> call currval. Previously, I just called currval, but with the result of
> filling up the server log with warnings.

This might do what you're looking for on 8.0.

CREATE OR REPLACE FUNCTION currval_isset(text) RETURNS bigint AS '
DECLARE
  var integer;
BEGIN
  SELECT currval($1) INTO var;

  RETURN var;

EXCEPTION
  WHEN     OBJECT_NOT_IN_PREREQUISITE_STATE THEN
    RETURN 0;
END;
' LANGUAGE plpgsql;

SELECT isset('tst_seq');



pgsql-patches by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Romanian translation for 8.0: new file (psql)
Next
From: Tom Lane
Date:
Subject: Re: calling currval() before nextval() patch adding currval_isset()