Re: [HACKERS] DROP TABLE inside transaction block

Поиск
Список
Период
Сортировка
От Vadim Mikheev
Тема Re: [HACKERS] DROP TABLE inside transaction block
Дата
Msg-id 37D490F3.FAD26026@krs.ru
обсуждение исходный текст
Ответ на Re: [HACKERS] DROP TABLE inside transaction block  (Bruce Momjian <maillist@candle.pha.pa.us>)
Список pgsql-hackers
Bruce Momjian wrote:
> 
> > > renaming at abort time has to be done in the right order relative to
> > > dropping tables created during the xact, or else BEGIN; DROP TABLE foo;
> > > CREATE TABLE foo; ABORT won't work right.  Currently, an attempt to
> > > lock a table always involves making a relcache entry first, and the
> > > relcache will try to open the underlying files as soon as you do that,
> > > so other backends trying to touch the dying table for the first time
> > > would get unexpected error messages.  Probably a few other things.
> > >
> > > In short, a lot of work for a very marginal feature.  How many other
> > > DBMSes permit DROP TABLE to be rolled back?  How many users care?
> >
> > Oracle auto-commits current in-progress transaction before
> > execution of any DDL statement and executes such statements in
> > separate transaction.
> 
> That's cheating!

Maybe :))
But sql3-12aug93 says:
        4.41  SQL-transactions

        An SQL-transaction (transaction) is a sequence of executions of           SQL-statements that is atomic with
respectto recovery. These oper-        ations are performed by one or more compilation units and <module>s        or by
thedirect invocation of SQL.
 
        It is implementation-defined whether or not the non-dynamic or                 ^^^^^^^^^^^^^^^^^^^^^^
dynamicexecution of an SQL-data statement or the execution of        an <SQL dynamic data statement> is permitted to
occurwithin the        same SQL-transaction as the non-dynamic or dynamic execution of        an SQL-schema statement.
Ifit does occur, then the effect on any           ^^^^^^^^^^^^^^^^^^^^        open cursor, prepared dynamic statement,
ordeferred constraint        is implementation-defined. There may be additional implementation-        defined
restrictions,requirements, and conditions. If any such        restrictions, requirements, or conditions are violated,
thenan        implementation-defined exception condition or a completion con-        dition warning with an
implementation-definedsubclass code is        raised.
 

Vadim


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

Предыдущее
От: "flo"
Дата:
Сообщение: Re: [HACKERS] temp table oddness?
Следующее
От: Yann-Ju Chu
Дата:
Сообщение: problem about message type 0x45