From: Mike Bayer Date: Wed, 10 Feb 2010 23:53:02 +0000 (+0000) Subject: - backported collate reflection fix from [ticket:1655] X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=92171b08593e17f50d1e69a32dca0dbc7cb7fbc7;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - backported collate reflection fix from [ticket:1655] --- diff --git a/CHANGES b/CHANGES index 55ac86349b..5fc1a5366d 100644 --- 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] diff --git a/lib/sqlalchemy/databases/mysql.py b/lib/sqlalchemy/databases/mysql.py index ba6b026ea2..da3337af29 100644 --- a/lib/sqlalchemy/databases/mysql.py +++ b/lib/sqlalchemy/databases/mysql.py @@ -2415,8 +2415,8 @@ class MySQLSchemaReflector(object): r'(?:\x27(?:\x27\x27|[^\x27])*\x27,?)+))\))?' r'(?: +(?PUNSIGNED))?' r'(?: +(?PZEROFILL))?' - r'(?: +CHARACTER SET +(?P\w+))?' - r'(?: +COLLATE +(P\w+))?' + r'(?: +CHARACTER SET +(?P[\w_]+))?' + r'(?: +COLLATE +(?P[\w_]+))?' r'(?: +(?PNOT NULL))?' r'(?: +DEFAULT +(?P' r'(?:NULL|\x27(?:\x27\x27|[^\x27])*\x27|\w+)' diff --git a/test/dialect/test_mysql.py b/test/dialect/test_mysql.py index 8adb2d71c5..d207cba2e1 100644 --- a/test/dialect/test_mysql.py +++ b/test/dialect/test_mysql.py @@ -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')))