Brian Aker wrote:
Hi!
On Dec 8, 2008, at 12:36 PM, Jay Pipes wrote:
I am looking at cleaning up the API so that an engine will be able to
do transactional DDL (assuming it can handle it). This piece of
behavior is going to cause this to become... messy.
Your statement is confusing. *What* will become messy? The
replication code? The handler code? Something else?
If we want to have engines that support transactional DDL, having some
engine silently commit, and others continue with the transaction is messy.
Current behaviour is a known limitation of MySQL, but there is no
reason not to try and fix this. For DDL to be transactional, the .frm
files need to go bye-bye (since these introduce a need for 2 phase
commit). If InnoDB, or PBXT, is used as the data dictionary, then
perhaps it will be possible to wrap DDL transactions in the engine's
transactional behaviour.
Funny that Stewart is fixing this :)
The question is, should we, or should we not, be silently committing if
a piece of DDL is called?
OK, understood now. My opinion is that no silent committing should
happen. An error should be raised. For non-transactional DDL engines,
the user MUST issue a commit before the DDL.
Implicit, magic and silent stuff is bad design IMHO.
Interested to hear what PostgreSQL or Firebird does in this situation,
though...
-jay
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp