From a093c3c8ee24edd840ca791c30ea779c861abeb7 Mon Sep 17 00:00:00 2001 From: Leonel Atencio Date: Fri, 26 Jul 2019 13:42:35 -0500 Subject: [PATCH] Fixes: #4782 Also, not ntirely sure this is the right place for the test. --- test/dialect/mssql/test_query.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/test/dialect/mssql/test_query.py b/test/dialect/mssql/test_query.py index 4ecf0634c9..083f853d20 100644 --- a/test/dialect/mssql/test_query.py +++ b/test/dialect/mssql/test_query.py @@ -17,6 +17,7 @@ from sqlalchemy import Table from sqlalchemy import testing from sqlalchemy import util from sqlalchemy.databases import mssql +from sqlalchemy.dialects.mssql.base import Try_Cast from sqlalchemy.sql import column from sqlalchemy.sql import table from sqlalchemy.testing import AssertsCompiledSQL @@ -413,6 +414,25 @@ class QueryTest(testing.AssertsExecutionResults, fixtures.TestBase): ) ) + @testing.provide_metadata + def test_try_cast(self): + engine = engines.testing_engine() + metadata = self.metadata + t1 = Table( + "t1", + metadata, + Column("id", Integer, primary_key=True), + implicit_returning=False, + ) + metadata.create_all(engine) + + with self.sql_execution_asserter(engine) as asserter: + engine.execute(t1.select([Try_Cast(t1.id, Integer)])) + + asserter.assert_( + CursorSQL("SELECT TRY_CAST(id AS Integer) FROM t1"), + ) + @testing.provide_metadata def test_insertid_schema(self): meta = self.metadata -- 2.47.3