summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2022-10-19 00:18:17 +0000
committerGerrit Code Review <gerrit@ci3.zzzcomputing.com>2022-10-19 00:18:17 +0000
commitdfe911b7a29a5d646c66806914015be04a3cc637 (patch)
tree8324912b456ea1dd6631cbaa17127077d0c610ae /lib/sqlalchemy/dialects
parent3668889426bde1cfe31aca387a9c54fe56a66ff7 (diff)
parentf4214975a7deb5e13f8b6cf21e39697821396a7f (diff)
downloadsqlalchemy-dfe911b7a29a5d646c66806914015be04a3cc637.tar.gz
Merge "further qualify pyodbc setinputsizes types for long stirngs" into main
Diffstat (limited to 'lib/sqlalchemy/dialects')
-rw-r--r--lib/sqlalchemy/dialects/mssql/pyodbc.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/lib/sqlalchemy/dialects/mssql/pyodbc.py b/lib/sqlalchemy/dialects/mssql/pyodbc.py
index 5eb6b9528..09b4a80b6 100644
--- a/lib/sqlalchemy/dialects/mssql/pyodbc.py
+++ b/lib/sqlalchemy/dialects/mssql/pyodbc.py
@@ -516,22 +516,31 @@ class _BINARY_pyodbc(_ms_binary_pyodbc, BINARY):
class _String_pyodbc(sqltypes.String):
def get_dbapi_type(self, dbapi):
- return dbapi.SQL_VARCHAR
+ if self.length in (None, "max") or self.length >= 2000:
+ return (dbapi.SQL_VARCHAR, 0, 0)
+ else:
+ return dbapi.SQL_VARCHAR
class _Unicode_pyodbc(_MSUnicode):
def get_dbapi_type(self, dbapi):
- return dbapi.SQL_WVARCHAR
+ if self.length in (None, "max") or self.length >= 2000:
+ return (dbapi.SQL_WVARCHAR, 0, 0)
+ else:
+ return dbapi.SQL_WVARCHAR
class _UnicodeText_pyodbc(_MSUnicodeText):
def get_dbapi_type(self, dbapi):
- return dbapi.SQL_WVARCHAR
+ if self.length in (None, "max") or self.length >= 2000:
+ return (dbapi.SQL_WVARCHAR, 0, 0)
+ else:
+ return dbapi.SQL_WVARCHAR
class _JSON_pyodbc(_MSJson):
def get_dbapi_type(self, dbapi):
- return dbapi.SQL_WVARCHAR
+ return (dbapi.SQL_WVARCHAR, 0, 0)
class _JSONIndexType_pyodbc(_MSJsonIndexType):