Re: SET autocommit begins transaction?

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: SET autocommit begins transaction?
Дата
Msg-id 200209190030.g8J0UVJ16851@candle.pha.pa.us
обсуждение исходный текст
Ответ на Re: SET autocommit begins transaction?  (Rod Taylor <rbt@rbt.ca>)
Ответы Re: SET autocommit begins transaction?  (Sean Chittenden <sean@chittenden.org>)
Список pgsql-bugs
Rod Taylor wrote:
> > > What about that doesn't make sense?  Having SET begin a transaction
> > > seems like a gross violation of POLS and likely to contradict the spec
> > > and cause problems with many applications.  -sc
> >
> > I think we left the standard when we made SET rollbackable.  Maybe that
> > has to be reopened because if we did that, it would make perfect sense
> > because all SETs would be outside transactions.
>
> Of course, the reason they're rollbackable is:
>
> begin;
> create schema newschema;
> set search_path = newschema;
> rollback;
>
> create table junk;  -- DOH!

And:

    set statement_timeout = 20;
    query_with_error;
    set statement_timeout = 0;
    COMMIT;

That will have to change in autocommit off to:

    BEGIN;
    SET statement_timeout = 20;
    query_with_error;
    SET statement_timeout = 0;
    COMMIT;

I assume that BEGIN does start a transaction.  With no BEGIN above, the
big problem is that it will work most of the time, but when/if the query
fails, they will find out they forgot the BEGIN.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Rod Taylor
Дата:
Сообщение: Re: SET autocommit begins transaction?
Следующее
От: Sean Chittenden
Дата:
Сообщение: Re: SET autocommit begins transaction?