Brian Aker wrote:
Hi!
In working on replication I end up in our transaction code. Today DDL
causes whatever transaction that is in play to commit.
Is this really a good behavior?
Strictly as a *user* I find it surprising that DDL does sneaky commits
behind the scenes.
Consider this:
BEGIN;
/* do some stuff */
CREATE TEMPORARY TABLE foo ....
/* do some more stuff */
DROP TABLE foo;
/* do some more stuff */
ROLLBACK;
The trouble is that the "DROP TABLE" did a commit behind the scenes.
Sure, sure, if I had done "DROP TEMPORARY TABLE foo" it would not have.
But I continue to dislike the that some statements do a COMMIT silently.
However, if there is a strong argument from an SQL Standards
persepective, I guess I could understand being compliant.
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.
Should we toss an error on DDL if the engine does support it
transactionally? Current behavior good enough/would break too much to
change?
I think so.
What is the proper behavior?
Anyone know what other database do?
Cheers,
-Eric
Cheers,
-Brian
--
_______________________________________________________
Brian "Krow" Aker, brian at tangent.org
Seattle, Washington
http://krow.net/ <-- Me
http://tangent.org/ <-- Software
_______________________________________________________
You can't grep a dead tree.
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp
--
http://www.freesa.org/ -- mobile: +31 620719662
aim: ericigps -- skype: eric_herman -- jabber: [EMAIL PROTECTED]
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp