Python API's: sql.Binary() fix

Mate Birkas birkas at gmail.com
Sun Feb 3 15:39:14 CET 2013


Hi,

I may have found a bug in sql.Binary(). Here is the patch:

--- pythonize.py 2013-02-03 15:22:09.217186598 +0100
+++ pythonize.py.fix 2013-02-03 15:23:34.613187703 +0100
@@ -119,7 +119,7 @@

 def Binary(data):
     """returns binary encoding of data"""
-    return ''.join([hex(ord(i))[2:] for i in data]).upper()
+    return ''.join(["%02X" % ord(i) for i in data])

 def DateFromTicks(ticks):
     """Convert ticks to python Date"""

The hex() built-in returns three character string for integers lower than
15. This combined with the original code's [2:] results in corrupt string
representations of binary objects having bytes with these values.

cheers
Mate
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.monetdb.org/pipermail/developers-list/attachments/20130203/4f2df2ac/attachment.html>


More information about the developers-list mailing list