On 29/04/2014 12:04, Dmitry Yemanov wrote: > 29.04.2014 18:11, Claudio Valderrama C. wrote: > >>> Maybe true for the current FB code, but not generally. Other >>> databases can handle this reliably. >> But they have a limited degree of data versioning, if any. > AFAIK, PostgreSQL can handle transactional DDL. And yes, it's pretty as > much MGA as we are. > > I think support for transactional DDL is not a big difficult if well constrained and architected.
Main problems currently are: - DDL must acquire exclusive locks and DML shared locks on objects. And that must happen even in the same transaction, i.e., no DDL and DML together. - DFW must be remade: it should not query metadata (which is in a different structure than in the moment of the actual DDL command) to continue the tasks. - Rollback of DDL: this includes revert the database and the in-memory cache. Note these problems exists even if you consider auto-commited DDL. They are just hidden due to more simple interactions. Adriano ------------------------------------------------------------------------------ "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available. Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel