return exclusions.open()
+ @property
+ def binary_comparisons(self):
+ """target database/driver can allow BLOB/BINARY fields to be compared
+ against a bound parameter value.
+ """
+
+ return exclusions.open()
+
+ @property
+ def binary_literals(self):
+ """target backend supports simple binary literals, e.g. an
+ expression like::
+
+ SELECT CAST('foo' AS BINARY)
+
+ Where ``BINARY`` is the type emitted from :class:`.LargeBinary`,
+ e.g. it could be ``BLOB`` or similar.
+
+ Basically fails on Oracle.
+
+ """
+
+ return exclusions.open()
+
@property
def precision_numerics_general(self):
"""target backend has general support for moderately high-precision
"not supported by database/driver"
)
+ @property
+ def binary_literals(self):
+ """target backend supports simple binary literals, e.g. an
+ expression like::
+
+ SELECT CAST('foo' AS BINARY)
+
+ Where ``BINARY`` is the type emitted from :class:`.LargeBinary`,
+ e.g. it could be ``BLOB`` or similar.
+
+ Basically fails on Oracle.
+
+ """
+ # adding mssql here since it doesn't support comparisons either,
+ # have observed generally bad behavior with binary / mssql.
+
+ return skip_if(["oracle", "mssql"],
+ "not supported by database/driver"
+ )
+
@property
def independent_cursors(self):
"""Target must support simultaneous, independent database cursors
return skip_if(['mssql', 'mysql', 'firebird', '+zxjdbc',
'oracle', 'sybase'])
+
@property
def precision_numerics_general(self):
"""target backend has general support for moderately high-precision
count().scalar(), 1)
+ @testing.requires.binary_literals
def test_literal_roundtrip(self):
compiled = select([cast(literal(util.b("foo")), LargeBinary)]).compile(
dialect=testing.db.dialect,