Re: rollback to savepoint issue - Mailing list pgsql-general

From Adrian Klaver
Subject Re: rollback to savepoint issue
Date
Msg-id 8991f350-d697-c664-5637-beb6f789f86b@aklaver.com
Whole thread Raw
In response to rollback to savepoint issue  (Lorusso Domenico <domenico.l76@gmail.com>)
List pgsql-general
On 9/4/23 07:56, David G. Johnston wrote:
> On Monday, September 4, 2023, Erik Wienhold <ewie@ewie.name 
> <mailto:ewie@ewie.name>> wrote:
> 
>     On 04/09/2023 11:51 CEST Lorusso Domenico <domenico.l76@gmail.com
>     <mailto:domenico.l76@gmail.com>> wrote:
> 
>      > I can't use the savepoint and rollback to savepoint clause.
>      > I've found some similar problems around on the web, but I can't
>     catch the
>      > good way to proceed.
>      >
>      > What I'm trying to do is:
>      >   * compare new set of attribute with older
>      >   * if some attributes are part of old set and not in the new
>     one: delete
>      >     the old
>      >   * but if parameter "on_misisng_delete" is false rollback delete
>     command
>      >     and rais exception
>      > The original code in embedded in a function, but the problem is
>     the same:
> 
>     Transaction control is not possible in functions.  Only in
>     procedures (CALL)
>     and DO blocks.
> 
> 
> Then explain why the original savepoint command wasn’t a syntax, or 
> runtime, error?  Plus, the error is syntax, usually when you try 
> something that exists but is disallowed the system gives you some kind 
> of invalid state exception at runtime,

Maybe this?:

https://www.postgresql.org/docs/current/sql-do.html

"If DO is executed in a transaction block, then the procedure code 
cannot execute transaction control statements. Transaction control 
statements are only allowed if DO is executed in its own transaction."

> 
> David J.
> 

-- 
Adrian Klaver
adrian.klaver@aklaver.com




pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: rollback to savepoint issue
Next
From: Erik Wienhold
Date:
Subject: Re: rollback to savepoint issue