Re: Catching errors inside a function - Mailing list pgsql-general

From Jeff Eckermann
Subject Re: Catching errors inside a function
Date
Msg-id 053601c1355f$fb01d0d0$279c10ac@INTERNAL
Whole thread Raw
In response to Catching errors inside a function  (Francesco Casadei <f_casadei@libero.it>)
Responses Re: Catching errors inside a function
List pgsql-general
Why not just do a SELECT to check for existence of the proposed insert
value, and go ahead only if NOT FOUND?

----- Original Message -----
From: "Francesco Casadei" <f_casadei@libero.it>
To: <pgsql-general@postgresql.org>
Sent: Monday, September 03, 2001 1:07 PM
Subject: [GENERAL] Catching errors inside a function


> I want to execute an INSERT query that may fail due to a primary key
constraint
> check. The primary key is on a field whose value is generated randomly by
> another C function.
> Is it possible to wrap the insert into a function that checks for failures
and
> retry the insert until success? Something like this:
>
> function blah
> {
>    do {
> cod = generate code;
>       execute insert with cod as primary key;
>    } while (! errors);
> }
>
> I tried with SQL, PL/pgSQL and C functions but the backend aborts the
> transaction and stops execution of the function as soon as the error is
thrown.
> Is there a way to disable this behaviour?
>
> Thanks in advance for your help.
>
> Francesco Casadei
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>
>


pgsql-general by date:

Previous
From: Jefim Matskin
Date:
Subject: Index usage question
Next
From: "Robert J. Sanford, Jr."
Date:
Subject: Re: PL/java?