[Zope] MySQL Select Statements

Andy Dustman adustman@comstar.net
Fri, 30 Jun 2000 13:24:57 -0400 (EDT)


On Fri, 30 Jun 2000, Ron Bickers wrote:

> It should be as simple as the application designer actually knowing what
> they're doing by knowing whether or not they're working with a table that
> supports transactions or not, and just not using BEGIN/COMMIT/ROLLBACK when
> they're not.  Or is it too much to ask that designers know what they're
> doing? :-)

That's the problem: They don't get control over when BEGIN/COMMIT/ROLLBACK
are used. Zope does that if you are using the Transaction Manager. And the
only way to control use of the Transaction Manager is by selection of DA.  
That's why I think it may be necessary to have two ZMySQLDAs: One which is
transactional and one which is not. However, they can both be part of the
same distribution, and the transactional one can simply subclass the
non-transactional one (mixing in the TM base and adding the required
methods), so there is not a lot of code duplication.

In addition, a lot of people are still going to be using MySQL-3.22, which
does NOT support transactions, or even the BEGIN/COMMIT/ROLLBACK
statements (these produce syntax errors). The only way to detect this at
runtime is to look at the server's version. Anyway, more experimenting is
needed.

-- 
andy dustman       |     programmer/analyst     |      comstar.net, inc.
telephone: 770.485.6025 / 706.549.7689 | icq: 32922760 | pgp: 0xc72f3f1d
"Therefore, sweet knights, if you may doubt your strength or courage, 
come no further, for death awaits you all, with nasty, big, pointy teeth!"