[Python-modules-team] Bug#474580: [Bug#474580: python-mysqldb: Missing support for TEXT data type]

Jonas Meurer jonas at freesources.org
Fri Apr 11 15:05:28 UTC 2008


Hello Andy,

We received a bugreport against Mysql-Python (1.2.2): support for data
type TEXT seems to be missing.

Would be great if you could take a look at it. Please see below.

greetings,
 jonas

----- Forwarded message from Christoph Burgmer <chrislb at gmx.de> -----

Date: Sun, 06 Apr 2008 18:23:43 +0200
From: Christoph Burgmer <chrislb at gmx.de>
Subject: [Python-modules-team] Bug#474580: python-mysqldb: Missing support
	for TEXT data type
To: Debian Bug Tracking System <submit at bugs.debian.org>
Reply-To: Christoph Burgmer <chrislb at gmx.de>, 474580 at bugs.debian.org

Package: python-mysqldb
Version: 1.2.2-6
Severity: normal

MySQLdb seems to miss support for MySQL's data type TEXT. This crops up when
handling Unicode encoded strings.

TEXT seems to be similar to a BLOB though having textual features on sorting
and knows about encoding. [1]

The current behaviour towards TEXT data is to return it unencoded though
others seem to cover conversion (Unicode).

When option use_unicode is set to true MySQLdb will convert the following
for types according to the encoding: [2]
* FIELD_TYPE.STRING
* FIELD_TYPE.VAR_STRING
* FIELD_TYPE.VARCHAR
* FIELD_TYPE.BLOB

The field type definition [3] lacks an explicit definition of the TEXT type
and thus I assume further down in the implementation the case of TEXT
elements is not covered.

As I understand from the MySQL documentation [1] a BLOB shouldn't be
converted using some encoding though TEXT should be.

I couldn't find a place where the library asks about the actual data type
comming from MySQL but adding a new field type and adding it to the
conversion method doesn't do the trick. I guess this has to be fixed
upstream.

Christoph

[1] http://dev.mysql.com/doc/refman/5.0/en/blob.html
[2] /var/lib/python-support/python2.4/MySQLdb/connections.py
[3] /usr/share/python-support/python-mysqldb/MySQLdb/constants/FIELD_TYPE.py

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.22 (PREEMPT)
Locale: LANG=de_DE at euro, LC_CTYPE=zh_CN.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages python-mysqldb depends on:
ii  libc6                         2.7-10     GNU C Library: Shared libraries
ii  libmysqlclient15off           5.0.51a-3  MySQL database client library
ii  python                        2.4.4-6    An interactive high-level object-o
ii  python-support                0.7.7      automated rebuilding support for P

python-mysqldb recommends no packages.

-- no debconf information



_______________________________________________
Python-modules-team mailing list
Python-modules-team at lists.alioth.debian.org
http://lists.alioth.debian.org/mailman/listinfo/python-modules-team


----- End forwarded message -----





More information about the Python-modules-team mailing list