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