summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2013-07-02 20:35:01 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2013-07-02 20:35:01 -0400
commit167adac5dc5ee9c353dbcad55ba7e36b08906f10 (patch)
treea95cdf32a69985233bcbd3db3163fd6d3c89d591
parentae7ac4f73a5b6610add847dacfdf784a9e280cd4 (diff)
downloadsqlalchemy-167adac5dc5ee9c353dbcad55ba7e36b08906f10.tar.gz
for this test, apparently we don't handle sets as unordered since neither does
MySQL. for some reason set ordering was constant when testing mysqldb, but not so with oursql.
-rw-r--r--test/dialect/mysql/test_types.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/test/dialect/mysql/test_types.py b/test/dialect/mysql/test_types.py
index fb1de72df..b918abe25 100644
--- a/test/dialect/mysql/test_types.py
+++ b/test/dialect/mysql/test_types.py
@@ -511,9 +511,15 @@ class TypesTest(fixtures.TestBase, AssertsExecutionResults, AssertsCompiledSQL):
set_table.insert().execute({'s3': set(['5'])},
{'s3': set(['5', '7'])}, {'s3': set(['5', '7', '9'])},
{'s3': set(['7', '9'])})
- rows = select([set_table.c.s3], set_table.c.s3.in_([set(['5'
- ]), set(['5', '7']), set(['7', '5'
- ])])).execute().fetchall()
+
+ # NOTE: the string sent to MySQL here is sensitive to ordering.
+ # for some reason the set ordering is always "5, 7" when we test on
+ # MySQLdb but in Py3K this is not guaranteed. So basically our
+ # SET type doesn't do ordering correctly (not sure how it can,
+ # as we don't know how the SET was configured in the first place.)
+ rows = select([set_table.c.s3],
+ set_table.c.s3.in_([set(['5']), ['5', '7']])
+ ).execute().fetchall()
found = set([frozenset(row[0]) for row in rows])
eq_(found, set([frozenset(['5']), frozenset(['5', '7'])]))