[Monetdb-developers] Bug in Python interface converters.py Feb2008-SuperBall

Andrei Tovtchigretchko andreitd at hotmail.com
Fri Mar 14 17:28:11 CET 2008

MonetSQLdb.converters.escape(x, conv=None)
should return 'tuple' for any input sequence type (currently it returns tuple only if it receives tuple, and returns list if it receives list).
The return result is used as a second argument in expression 'query = query % self.connection.literal(args)' in cursors.py. The '%' operator raises an exception on anything but tuple.
Also, when 'escape()' cannot convert some argument, it should immediately raise a descriptive exception. Currently it silently drops the argument from the result sequence, which causes an exception to be raised later in the calling code. That exception reads like this:
"""ProgrammingError: not enough arguments for format string"""
This unnecessarily  complicates debugging.
Thank you,
Watch “Cause Effect,” a show about real people making a real difference.  Learn more.

More information about the developers-list mailing list