Catching errors inside a function - Mailing list pgsql-general

From Francesco Casadei
Subject Catching errors inside a function
Date
Msg-id 20010903200727.A5843@goku.kasby
Whole thread Raw
Responses Re: Catching errors inside a function
List pgsql-general
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

pgsql-general by date:

Previous
From: postgres@vsservices.com
Date:
Subject: Re: Perl won't eval PgSQL boolean value
Next
From: Fernando Schapachnik
Date:
Subject: Re: SHOW