On Fri, Oct 17, 2008 at 04:32:00PM -0700, Toshio Kuratomi wrote:
> Oleg Broytmann wrote:
> > Another question: do I understand it right that MySQLdb *allows* unicode
> > query strings but doesn't *require* them? Becasue my (humble and
> > uninformed) opinion is to use that "loophole" and do not use unicode with
> > MySQLdb (yet).
>
> You have it backwards. In MySQL-python-1.2.1 the query string was
> required to be unicode. Sending in a byte string with non-ASCii causes
> an error to be raised.
>
> I do not know if MySQL-python < 1.2.1 had the opposite problem but the
> lower bound version check in the previous chunk makes me suspicious that
> that was the case.
AFAIK MySQLdb before 1.2.1 only allowed ascii query strings. So:
-- MySQLdb < 1.2.1: only ascii
-- MySQLdb = 1.2.1: only unicode
-- MySQLdb > 1.2.1: both ascii and unicode
Right?
> >> + if self.need_unicode and not isinstance(query, unicode):
> >> + try:
> >> + query = unicode(query, self.dbEncoding)
> >> + except UnicodeError:
> >> + pass
What if the data cannot be converted (BLOB data, e.g.)? 'query' still
is ascii after that try/except. How would MySQLdb 1.2.1 react?
Oleg.
--
Oleg Broytmann http://phd.pp.ru/ [EMAIL PROTECTED]
Programmers don't die, they just GOSUB without RETURN.
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
sqlobject-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss