| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Daniel Schuchardt <daniel_schuchardt(at)web(dot)de> |
| Cc: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: BEGIN EXCEPTION END - small bug? |
| Date: | 2004-08-13 19:16:28 |
| Message-ID: | 26094.1092424588@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Daniel Schuchardt <daniel_schuchardt(at)web(dot)de> writes:
> i tried a bit with errorhandling and found the following :
> (i want to ignore the dublicate key exception)
> ERROR: SPI_prepare failed for "ROLLBACK": SPI_ERROR_TRANSACTION
You can't use ROLLBACK inside a plpgsql function. I agree that this
error message leaves something to be desired, though.
[ ... sounds of hacking ... ]
Now it says
regression=# select test();
ERROR: cannot begin/end transactions in PL/pgSQL
HINT: Use a BEGIN block with an EXCEPTION clause instead.
CONTEXT: PL/pgSQL function "test" line 5 at SQL statement
regression=#
That might still leave you a bit confused, since you *were* using
an EXCEPTION clause, but offhand it seems about the best we can do.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2004-08-13 19:20:56 | Re: Referencing OLD/NEW Rows on Trigger Definition |
| Previous Message | Tom Lane | 2004-08-13 19:13:10 | Re: Postgres development model |