summaryrefslogtreecommitdiff
path: root/test/dialect/test_mysql.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2012-01-28 15:20:21 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2012-01-28 15:20:21 -0500
commit09553dc90f4a95b314994b48068b046de1413104 (patch)
tree4103d05a99beb0ca07dea7def9aa0514809f10a1 /test/dialect/test_mysql.py
parent45e6875752fcaf7d3a60907959ed9d154cca0d5d (diff)
downloadsqlalchemy-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.py19
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'))