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