Fix the conversion of list or tuple args to a SQL.

When there is one element on the list, the generated SQL was
(1,) (python notation of a single element tuple, which is not
valid in SQL.
This commit is contained in:
Guillaume Bandet
2013-11-04 16:17:57 +01:00
parent c8b2744ea2
commit 87d1145c0d
2 changed files with 9 additions and 3 deletions

View File

@ -180,7 +180,10 @@ class BaseCursor(object):
if isinstance(query, unicode):
query = query.encode(db.unicode_literal.charset)
if args is not None:
query = query % db.literal(args)
if isinstance(args, dict):
query = query % {key: db.literal(item) for key, item in args.iteritems()}
else:
query = query % tuple([db.literal(item) for item in args])
try:
r = None
r = self._query(query)