diff options
Diffstat (limited to 'lib/sqlalchemy/databases/mssql.py')
-rw-r--r-- | lib/sqlalchemy/databases/mssql.py | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/lib/sqlalchemy/databases/mssql.py b/lib/sqlalchemy/databases/mssql.py index 5bf7f28af..777c86d40 100644 --- a/lib/sqlalchemy/databases/mssql.py +++ b/lib/sqlalchemy/databases/mssql.py @@ -678,8 +678,25 @@ class MSNChar(_StringType, sqltypes.NCHAR): class MSBinary(sqltypes.Binary): def get_col_spec(self): + if self.length: + return "BINARY(%s)" % self.length + else: + return "BINARY" + + +class MSVarBinary(MSBinary): + def get_col_spec(self): + if self.length: + return "VARBINARY(%s)" % self.length + else: + return "VARBINARY" + + +class MSImage(MSBinary): + def get_col_spec(self): return "IMAGE" + class MSBoolean(sqltypes.Boolean): def get_col_spec(self): return "BIT" @@ -861,10 +878,10 @@ class MSSQLDialect(default.DefaultDialect): 'date': MSDate, 'smalldatetime' : MSSmallDate, 'binary' : MSBinary, - 'varbinary' : MSBinary, + 'varbinary' : MSVarBinary, 'bit': MSBoolean, 'real' : MSFloat, - 'image' : MSBinary, + 'image' : MSImage, 'timestamp': MSTimeStamp, 'money': MSMoney, 'smallmoney': MSSmallMoney, |