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?

No.

> 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'm assuming thats "if the engine doesn't support it". I'd say yes. If
you are inside of a multi-statement transaction and you write DDL, then
chances are it's a bug and that you don't know that it would be a commit
inserted. Otherwise, why wouldn't you add an explicit commit statement?
I would imagine that, other than people like those on this list, this
behavior is generally not understood.

People understand errors (if the error message isn't something like
"operation not supported".

Of course, engines that _do_ support transactional ddl would be even
sweller.

> What is the proper behavior?

> 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
> 


_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to