summaryrefslogtreecommitdiff
path: root/test/dialect/mysql/test_compiler.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/dialect/mysql/test_compiler.py')
-rw-r--r--test/dialect/mysql/test_compiler.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/dialect/mysql/test_compiler.py b/test/dialect/mysql/test_compiler.py
index 52d4529ae..cd7205163 100644
--- a/test/dialect/mysql/test_compiler.py
+++ b/test/dialect/mysql/test_compiler.py
@@ -41,6 +41,7 @@ from sqlalchemy import String
from sqlalchemy import Table
from sqlalchemy import testing
from sqlalchemy import TEXT
+from sqlalchemy import Text
from sqlalchemy import text
from sqlalchemy import TIME
from sqlalchemy import Time
@@ -746,6 +747,7 @@ class SQLTest(fixtures.TestBase, AssertsCompiledSQL):
(String(32), "CAST(t.col AS CHAR(32))"),
(Unicode(32), "CAST(t.col AS CHAR(32))"),
(CHAR(32), "CAST(t.col AS CHAR(32))"),
+ (CHAR(0), "CAST(t.col AS CHAR(0))"),
(m.MSString, "CAST(t.col AS CHAR)"),
(m.MSText, "CAST(t.col AS CHAR)"),
(m.MSTinyText, "CAST(t.col AS CHAR)"),
@@ -1526,3 +1528,26 @@ class MatchExpressionTest(fixtures.TestBase, AssertsCompiledSQL):
"MATCH ('x') AGAINST ('y' IN BOOLEAN MODE)",
literal_binds=True,
)
+
+ def test_char_zero(self):
+ """test #9544"""
+
+ t1 = Table(
+ "sometable",
+ MetaData(),
+ Column("a", CHAR(0)),
+ Column("b", VARCHAR(0)),
+ Column("c", String(0)),
+ Column("d", NVARCHAR(0)),
+ Column("e", NCHAR(0)),
+ Column("f", TEXT(0)),
+ Column("g", Text(0)),
+ Column("h", BLOB(0)),
+ Column("i", LargeBinary(0)),
+ )
+ self.assert_compile(
+ schema.CreateTable(t1),
+ "CREATE TABLE sometable (a CHAR(0), b VARCHAR(0), "
+ "c VARCHAR(0), d NATIONAL VARCHAR(0), e NATIONAL CHAR(0), "
+ "f TEXT(0), g TEXT(0), h BLOB(0), i BLOB(0))",
+ )