Code review comment for lp:~stewart/drizzle/remove-ddl-implicit-commit

Revision history for this message
David Shrewsbury (dshrews) wrote :

> David should chime in on this.

I'm not so concerned with whether or not (or even how) we change transaction_reader. That's a rather simple change. My concern is will the broader implications of this with respect to replication.

Any reader of the transaction messages from the transaction log (or direct replication stream) that wants to apply the messages on another Drizzle server will be impacted by this. It would be kind of bad of us to say "you need to handle DDL messages this way" and then change it later on down the road to a different way.

I suppose Stewart's hack of beginning DDL transactions with SET AUTOCOMMIT=0 and including the unnecessary COMMIT after the DDL will work for them now AND in the future, but it forces the implementer to add logic to look at the first Statement and decide if this is DDL or DML, then choose to use either BEGIN or AUTOCOMMIT=0. Not that difficult, but just more complex than it has to be.

So I guess I'm saying it would be nice if we could go ahead and implement option (b), but if that's not feasible at the moment, we can go ahead and do (c) as an interim solution if this change is necessary.

« Back to merge proposal