Subject Re: [Firebird-Architect] Atomic DDL and Metadata Transactions.
Author Dmitry Yemanov
Jim,

> I would like to make all DDL operations atomic, essentially deprecating
> the current metadata transaction appearance. In specific, I propose the
> following for Vulcan: SQL metadata operations would be performed on a
> transient, internal, invisible transaction committed or rolled back when
> the statement processing is complete. The net result is that DDL
> operations would be atomic and outside of transaction scope.

I tend to disagree. Transactional metadata is a quite useful feature. If it
has any issues (we know it does), they can and must be fixed.

Are you going to break the current DDL abilities of EXECUTE STATEMENT too?
If so, it's yet another incompatibility. If not, you allow DDL statements to
be _correctly_ executed inside the PSQL code. And be prepared to answer
people why they cannot reference this metadata in the current procedure
(something those MSSQL guys like very much).

I see some value in your proposal, but I'm not convienced that it will make
our life easier.

> The only adverse impact that I am aware of would be the loss of the
> ability to backout a sequence of uncommitted DDL operations,

This "only impact" means breakage for lot of applications.

> a non-standard behavior at best.

Could you provide a reference? I wasn't able to confirm a non-transactional
nature of DDL statements in the SQL spec.


Dmitry