Jan Wieck <[EMAIL PROTECTED]> writes:
>     If at all, SET commands should behave like  everything  else.
>     If done inside a transaction, they have to rollback.

I have thought of a scenario that may be sufficient to justify fixing
SETs to roll back on transaction abort.  Consider

        BEGIN;

        CREATE SCHEMA foo;

        SET search_path = 'foo, public';

        ROLLBACK;

As the code stands, this will leave you with an invalid search path.
(What's worse, if you now execute CREATE TABLE, it will happily create
tables belonging to the vanished namespace foo.  Everything will seem
to work fine ... until you try to find those tables again in a new
session ...)

It seems clear to me that SET *should* roll back on abort.  Just a
matter of how important is it to fix.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to