summaryrefslogtreecommitdiff
path: root/test/dialect
diff options
context:
space:
mode:
authorFederico Caselli <cfederico87@gmail.com>2022-01-19 23:31:13 +0100
committerMike Bayer <mike_mp@zzzcomputing.com>2022-01-20 17:55:43 -0500
commit64fd7a3968448f21ce1c14bff89fc78e949e04d1 (patch)
tree25943397557d23ccf89a96328495730c4292a90f /test/dialect
parentb235a8cb1042cb7706dddc0f783cabb81e141055 (diff)
downloadsqlalchemy-64fd7a3968448f21ce1c14bff89fc78e949e04d1.tar.gz
Added support for ``FILESTREAM`` in MSSQL.
Fixes: #7243 Change-Id: I99880f429dbaac525bdf7d44438aaab6bc8d0ca6
Diffstat (limited to 'test/dialect')
-rw-r--r--test/dialect/mssql/test_types.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/dialect/mssql/test_types.py b/test/dialect/mssql/test_types.py
index 63c6cf26d..2ef8b76da 100644
--- a/test/dialect/mssql/test_types.py
+++ b/test/dialect/mssql/test_types.py
@@ -48,6 +48,7 @@ from sqlalchemy.testing import AssertsExecutionResults
from sqlalchemy.testing import ComparesTables
from sqlalchemy.testing import engines
from sqlalchemy.testing import eq_
+from sqlalchemy.testing import expect_raises_message
from sqlalchemy.testing import fixtures
from sqlalchemy.testing import is_
from sqlalchemy.testing import is_not
@@ -529,6 +530,12 @@ class TypeDDLTest(fixtures.TestBase):
(mssql.MSVarBinary, [10], {}, "VARBINARY(10)"),
(types.VARBINARY, [10], {}, "VARBINARY(10)"),
(types.VARBINARY, [], {}, "VARBINARY(max)"),
+ (
+ mssql.MSVarBinary,
+ [],
+ {"filestream": True},
+ "VARBINARY(max) FILESTREAM",
+ ),
(mssql.MSImage, [], {}, "IMAGE"),
(mssql.IMAGE, [], {}, "IMAGE"),
(types.LargeBinary, [], {}, "IMAGE"),
@@ -552,6 +559,17 @@ class TypeDDLTest(fixtures.TestBase):
)
self.assert_(repr(col))
+ def test_VARBINARY_init(self):
+ d = mssql.dialect()
+ t = mssql.MSVarBinary(length=None, filestream=True)
+ eq_(str(t.compile(dialect=d)), "VARBINARY(max) FILESTREAM")
+ t = mssql.MSVarBinary(length="max", filestream=True)
+ eq_(str(t.compile(dialect=d)), "VARBINARY(max) FILESTREAM")
+ with expect_raises_message(
+ ValueError, "length must be None or 'max' when setting filestream"
+ ):
+ mssql.MSVarBinary(length=1000, filestream=True)
+
class TypeRoundTripTest(
fixtures.TestBase, AssertsExecutionResults, ComparesTables
@@ -1007,6 +1025,15 @@ class TypeRoundTripTest(
),
]
+ if testing.requires.mssql_filestream.enabled:
+ columns.append(
+ (
+ mssql.MSVarBinary,
+ [],
+ {"filestream": True},
+ "VARBINARY(max) FILESTREAM",
+ )
+ )
engine = engines.testing_engine(
options={"deprecate_large_types": deprecate_large_types}
)
@@ -1234,6 +1261,15 @@ class BinaryTest(fixtures.TestBase):
False,
),
(
+ mssql.VARBINARY(filestream=True),
+ "binary_data_one.dat",
+ None,
+ True,
+ None,
+ False,
+ testing.requires.mssql_filestream,
+ ),
+ (
sqltypes.LargeBinary,
"binary_data_one.dat",
None,