diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-01-28 15:20:21 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-01-28 15:20:21 -0500 |
commit | 09553dc90f4a95b314994b48068b046de1413104 (patch) | |
tree | 4103d05a99beb0ca07dea7def9aa0514809f10a1 /test/dialect/test_mysql.py | |
parent | 45e6875752fcaf7d3a60907959ed9d154cca0d5d (diff) | |
download | sqlalchemy-09553dc90f4a95b314994b48068b046de1413104.tar.gz |
- [feature] Dialect-specific compilers now raise
CompileException for all type/statement compilation
issues, instead of InvalidRequestError or ArgumentError.
The DDL for CREATE TABLE will re-raise
CompileExceptions to include table/column information
for the problematic column. [ticket:2361]
Diffstat (limited to 'test/dialect/test_mysql.py')
-rw-r--r-- | test/dialect/test_mysql.py | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/test/dialect/test_mysql.py b/test/dialect/test_mysql.py index 51b4062fc..acb4aa5e4 100644 --- a/test/dialect/test_mysql.py +++ b/test/dialect/test_mysql.py @@ -1,6 +1,6 @@ # coding: utf-8 -from test.lib.testing import eq_, assert_raises +from test.lib.testing import eq_, assert_raises, assert_raises_message # Py2K import sets @@ -1185,7 +1185,22 @@ class SQLTest(fixtures.TestBase, AssertsCompiledSQL): Unicode(), ): type_ = sqltypes.to_instance(type_) - assert_raises(exc.InvalidRequestError, type_.compile, dialect=mysql.dialect()) + assert_raises_message( + exc.CompileError, + "VARCHAR requires a length on dialect mysql", + type_.compile, + dialect=mysql.dialect()) + + t1 = Table('sometable', MetaData(), + Column('somecolumn', type_) + ) + assert_raises_message( + exc.CompileError, + r"\(in table 'sometable', column 'somecolumn'\)\: " + r"(?:N)?VARCHAR requires a length on dialect mysql", + schema.CreateTable(t1).compile, + dialect=mysql.dialect() + ) def test_update_limit(self): t = sql.table('t', sql.column('col1'), sql.column('col2')) |