Add frozenset to escape_sequence types

This commit is contained in:
Alexandr N Zamaraev (aka tonal)
2016-05-19 17:13:12 +06:00
parent 776b9e68a8
commit 88ca33c6e0
2 changed files with 10 additions and 5 deletions

View File

@@ -355,6 +355,7 @@ encoders = {
tuple: escape_sequence, tuple: escape_sequence,
list: escape_sequence, list: escape_sequence,
set: escape_sequence, set: escape_sequence,
frozenset: escape_sequence,
dict: escape_dict, dict: escape_dict,
bytearray: escape_bytes, bytearray: escape_bytes,
type(None): escape_None, type(None): escape_None,

View File

@@ -42,11 +42,15 @@ class TestConversion(base.PyMySQLTestCase):
c.execute("delete from test_datatypes") c.execute("delete from test_datatypes")
# check sequence type # check sequences type
c.execute("insert into test_datatypes (i, l) values (2,4), (6,8), (10,12)") for seq_type in (tuple, list, set, frozenset):
c.execute("select l from test_datatypes where i in %s order by i", ((2,6),)) c.execute("insert into test_datatypes (i, l) values (2,4), (6,8), (10,12)")
r = c.fetchall() seq = seq_type([2,6])
self.assertEqual(((4,),(8,)), r) c.execute("select l from test_datatypes where i in %s order by i", (seq,))
r = c.fetchall()
self.assertEqual(((4,),(8,)), r)
c.execute("delete from test_datatypes")
finally: finally:
c.execute("drop table test_datatypes") c.execute("drop table test_datatypes")