I'm connecting to a legacy MySQL database (migrate=False) with a lot of fields declared BOOLEAN, and noticed that attempts to modify these fields with the DAL failed. The DAL issues a query like this:
UPDATE sometable SET someflag='T' WHERE ... but this gets rejected by MySQL. Reading through dal.py, I see that the "boolean" type maps to CHAR(1) in MySQLAdapter, and represent() converts to "T" and "F" values. However, the BOOLEAN type is a synonym for TINYINT(1) in MySQL, with values 0 or 1, according to: http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html I can trivially change this behavior in dal.py for my purposes, but it would be interested to try to incorporate this into the main web2py distribution. Unfortunately, the trivial change will break backwards compatibility for people who are already depending on the current behavior. Any thoughts on how this could be done in a backwards- compatible way, or is it too much of an edge case to worry about? Cheers, Kevin