P4DTI issue job000317

TitleError message is unhelpful when you're using an unsupported version of the MySQLdb module
Statusclosed
Priorityoptional
Assigned userNick Barnes
OrganizationRavenbrook
DescriptionIf you have an unsupported version of the MySQLdb module (that is, before MySQLdb 0.2.2), then you get an unhelpful error message.

P4DTI error:
File "bugzilla.py", line 229, in sqlquote
  return "'" + self.db.escape_string(value) + "'"
AttributeError: escape_string

This is not very helpful in tracking down and fixing the problem.
AnalysisThe P4DTI should check the version number of MySQLdb and (a) inform if it is supported, (b) warn if it is not supported, (c) cause an error if it is known not to work.

Code added (mysqldb_support.py) to do this, 2001-10-25.

Here is a table of values of MySQLdb.__version__ and their support status at present (2001-10-25):

 0.2.0 '1.21' Not supported and will not work.
 0.2.1 '1.24' Not supported and will not work.
 0.2.2 '1.29' Supported (used for development of P4DTI).
 0.3.0 '1.32' Supported (tested).
 0.3.1 '1.32' Not supported but may work.
 0.3.2 '1.33' Not supported but may work.
 0.3.3 '1.34' Not supported but may work.
 0.3.4 '1.39' Not supported but may work.
 0.3.5 '1.40' Not supported but may work.
 0.9.0 '0.9.0' Not supported and will not work (job000413).
 0.9.1c2 '0.9.1g2' Not supported and will not work (job000413).
 0.9.1 '0.9.1' Not supported and will not work (job000413).
How foundcustomer
Evidence<http://info.ravenbrook.com/mail/2001/04/12/10-18-12/0.txt>
Observed in1.1.1
Introduced in0.5.0
Created byGareth Rees
Created on2001-05-14 21:07:02
Last modified byNick Barnes
Last modified on2002-04-09 11:37:24
History2001-05-14 GDR Created.
2001-10-25 NB Improved release table and added notes on the fix.

Fixes

Change Effect Date User Description
23528 closed 2001-10-25 15:35:58 Nick Barnes Added messages for MySQLdb release check to AG.
23521 open 2001-10-25 14:48:32 Nick Barnes Fix typo.
23518 open 2001-10-25 14:23:23 Nick Barnes Added module to check MySQLdb release and take appropriate action.