[Monetdb-developers] Bug in Python interface converters.py Feb2008-SuperBall
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, Andrey _________________________________________________________________ Watch “Cause Effect,” a show about real people making a real difference. Learn more. http://im.live.com/Messenger/IM/MTV/?source=text_watchcause
Hi Andrei, thank you for your interest and for your report. Could you do us a favor and submit this as a bug report on our bug tracker at sourceforge? This will help us track the problem. The bugtracker can be found at https://sourceforge.net/tracker/?group_id=56967&atid=482468. By the way, just for my understanding, would it be ok if the Connection.literal method would convert the result of the call to escape to a tuple? If you're making a bug report, this question should be answered there. On 2008-03-14 17:28, Andrei Tovtchigretchko wrote:
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, Andrey _________________________________________________________________ Watch “Cause Effect,” a show about real people making a real difference. Learn more. http://im.live.com/Messenger/IM/MTV/?source=text_watchcause ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers
-- Sjoerd Mullender
participants (2)
-
Andrei Tovtchigretchko
-
Sjoerd Mullender