[Zope-dev] MySQL Transaction Support

Monty Taylor mtaylor@goldridge.net
Tue, 01 Aug 2000 14:29:08 +0200


We were talking about this a while back and I believe came to a
consensus about having two different ZMySQL adapters, one for
transactions, one for not.
However, since each table can have a different type, this might not bode
too well for someone that needs a connection to draw from one table with
BDB and one without. 
If you look at the output of the mysqldump utility, using --opt, it
shows both server version and table type. I think we should be able to
add a function to _mysql.c that would expose that information on a
per-table basis. We could then make the call as to whether the sever
supports transactions or not. 
A question would be, what should the commit/rollback mechanism decide to
do when the transaction deals with tables of both types. I would suggest
a default behavior of not allowing transactions in a mixed type
situation, with a way to set an overriding option to allow the
rollbackable table to be rolled back and leave the other as is.
Hopefully the application designed wouldn't cause that kind of insanity,
but hey, if they want to, they'll find a way.

Does anyone have any thoughts on this approach? Baring any blaring
negative comments, I'll start working on knocking up something like
this.

Monty