MySql

Paul Boddie paul at boddie.org.uk
Thu Jul 27 07:26:42 EDT 2006


John Machin wrote:
> Sibylle Koczian wrote:
> > John Machin schrieb:
> > >
> > >     base.commit()

[...]

> > That's not really fair, because transactions were added to MySQL only a
> > short time ago (at least to the default table type). There simply hasn't
> > yet been time for every experienced MySQL user to get hit by the need to
> > commit things.

This is mentioned in the MySQLdb FAQ:

http://sourceforge.net/docman/display_doc.php?docid=32070&group_id=22307

The default behaviour has been changed to match the DB-API standard,
which probably matches the normal behaviour on most mainstream
relational database systems.

> As I said earlier, I don't use MySQL. I wasn't aware it didn't have
> transactions -- what did people use it for, then?  So is the upshot is
> that he should thump himself for using a DBMS w/o transactions,
> perhaps?

Some awareness of common practice would certainly be beneficial.
Attempting to insert data into PostgreSQL, Oracle, sqlite and so on
would produce similar results to those described. The principal
difference is that with MySQL (and presumably with things like
Microsoft Access' storage engine that no-one takes seriously anyway),
everyone has been able to get away with ignoring transactions and
considering such behaviour as normal (or not even considering that
anyone really uses anything which does anything else), and this
obviously affects software governed by such assumptions.

I suppose it's unfortunate for anyone who was using MySQLdb prior to
release 1.2.0, especially if the software didn't give any obvious
run-time warnings (not that I can say whether it did or not), but the
MySQL-centric culture of ignoring/ridiculing stuff they don't support
(and then eventually supporting it, in this case) is probably most to
blame if we have to point the finger.

Paul




More information about the Python-list mailing list