Re: AW: [HACKERS] Re: [GENERAL] drop/rename table and transactions

Vadim Mikheev <vadim@krs.ru>

From: Vadim Mikheev <vadim@krs.ru>
To: Zeugswetter Andreas SEV <ZeugswetterA@wien.spardat.at>
Cc: "'PostgreSQL Developers List'" <hackers@postgreSQL.org>
Date: 1999-11-26T10:12:01Z
Lists: pgsql-hackers
Zeugswetter Andreas SEV wrote:
> 
> > >  RDBMS. Oracle issues
> > > an implicit COMMIT whenever a DDL statement is found.
> >
> > And I agreed with this.
> 
> And I strongly disagree.
> This sounds like pushing the flush button in the toilet,
> and instead of the toilet flushing you get a shower.
> 
> How could anybody come to the idea that a DDL statement
> also does a commit work if inside a transaction ?
> 
> Now this sound so absurd, that I even doubt Oracle would do this.

Standard says (4.41  SQL-transactions):

         It is implementation-defined whether or not the non-dynamic or
         dynamic execution of an SQL-data statement or the execution of
                                 ^^^^^^^^^^^^^^^^^^
         an <SQL dynamic data statement> is permitted to occur within the
                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
         same SQL-transaction as the non-dynamic or dynamic execution of
         ^^^^^^^^^^^^^^^^^^^^^^^
         an SQL-schema statement. If it does occur, then the effect on any
         ^^^^^^^^^^^^^^^^^^^^^^^

So, you see that this idea came not to Oracle only...

I don't object against DDLs inside BEGIN/END.
I just mean that it's not required by standard.
If someone is ready to fix this area - welcome.

Vadim
P.S. Is DROP TABLE rollback-able in Informix, Andreas?