]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- backported collate reflection fix from [ticket:1655]
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 10 Feb 2010 23:53:02 +0000 (23:53 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 10 Feb 2010 23:53:02 +0000 (23:53 +0000)
CHANGES
lib/sqlalchemy/databases/mysql.py
test/dialect/test_mysql.py

diff --git a/CHANGES b/CHANGES
index 55ac86349beb7cf30dcd94090e3ba87d0ab96e5c..5fc1a5366da6007f268d9965715b7a799115f50d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -8,9 +8,10 @@ CHANGES
 - sql
     - Fixed erroneous self_group() call in expression package.
       [ticket:1661]
-      
-0.5.9
-=====
+
+- mysql
+    - backported collate reflection fix from [ticket:1655]
+
 - firebird
     - Fix reflection of default values with spurious spaces
       (backport of r6257 and r6699). [ticket:1582 and ticket:1663]
index ba6b026ea29aac857be41bbe8563e904dfc2ff43..da3337af29eba25b2ea8a26425903a78652df3d6 100644 (file)
@@ -2415,8 +2415,8 @@ class MySQLSchemaReflector(object):
               r'(?:\x27(?:\x27\x27|[^\x27])*\x27,?)+))\))?'
             r'(?: +(?P<unsigned>UNSIGNED))?'
             r'(?: +(?P<zerofill>ZEROFILL))?'
-            r'(?: +CHARACTER SET +(?P<charset>\w+))?'
-            r'(?: +COLLATE +(P<collate>\w+))?'
+            r'(?: +CHARACTER SET +(?P<charset>[\w_]+))?'
+            r'(?: +COLLATE +(?P<collate>[\w_]+))?'
             r'(?: +(?P<notnull>NOT NULL))?'
             r'(?: +DEFAULT +(?P<default>'
               r'(?:NULL|\x27(?:\x27\x27|[^\x27])*\x27|\w+)'
index 8adb2d71c53c20036cfb7dab7cdc8a1082ef7e3a..d207cba2e1039b0cba5629fe7d0280ae84898dbb 100644 (file)
@@ -639,9 +639,10 @@ class TypesTest(TestBase, AssertsExecutionResults):
 
     def test_default_reflection(self):
         """Test reflection of column defaults."""
-
+        from sqlalchemy.databases.mysql import MSString
+        
         def_table = Table('mysql_def', MetaData(testing.db),
-            Column('c1', String(10), DefaultClause('')),
+            Column('c1', MSString(10, collation='utf8_unicode_ci'), DefaultClause(''), nullable=False),
             Column('c2', String(10), DefaultClause('0')),
             Column('c3', String(10), DefaultClause('abc')))