diff options
author | Michael Trier <mtrier@gmail.com> | 2008-12-28 01:46:44 +0000 |
---|---|---|
committer | Michael Trier <mtrier@gmail.com> | 2008-12-28 01:46:44 +0000 |
commit | defba2fc020556dadd106e7e4e35907216d9208d (patch) | |
tree | ca7d9b3ffb97103b4f08816453c77a615bc46b51 /lib/sqlalchemy/databases/mssql.py | |
parent | 0465d0b880be6ae13feeed98b93d2e1d2fdec773 (diff) | |
download | sqlalchemy-defba2fc020556dadd106e7e4e35907216d9208d.tar.gz |
MSSQL refactoring of BINARY type and addition of MSVarBinary and MSImage.
- Added in new types: MSVarBinary and MSImage
- Modified MSBinary to now return BINARY instead of IMAGE. This is a
backwards incompatible change. Closes #1249.
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, |