On 2013-11-19 13:05:01 -0500, Bruce Momjian wrote:
> SAVEPOINT
> test=> ROLLBACK TO SAVEPOINT asdf;
> ERROR: ROLLBACK TO SAVEPOINT can only be used in transaction blocks
>
> Notice that they do _not_ check their arguments; they just throw
> errors. With this patch they issue warnings and evaluate their
> arguments:
> test=> ROLLBACK TO SAVEPOINT asdf;
> WARNING: ROLLBACK TO SAVEPOINT can only be used in transaction blocks
> ROLLBACK
>
> However, SAVEPOINT/ROLLBACK throw weird errors when they are evaluated
> outside a multi-statement transaction, so their arguments are not
> evaluated. This might be why they were originally marked as errors.
Why change the historical behaviour for savepoints?
Greetings,
Andres Freund
-- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services