diff options
author | Michael Trier <mtrier@gmail.com> | 2008-12-11 19:24:22 +0000 |
---|---|---|
committer | Michael Trier <mtrier@gmail.com> | 2008-12-11 19:24:22 +0000 |
commit | 052d7f36433a0c29ab20d0ea37933c03a488e12d (patch) | |
tree | 86f5e5c3438a32f0edfc89467a740f6e9038d45d /lib/sqlalchemy/databases/mssql.py | |
parent | 5b0c456abd7756fa50700b7332f2cbe1d5aef620 (diff) | |
download | sqlalchemy-052d7f36433a0c29ab20d0ea37933c03a488e12d.tar.gz |
Implemented experimental savepoint support in mssql. There are still some failing savepoint related tests.
Diffstat (limited to 'lib/sqlalchemy/databases/mssql.py')
-rw-r--r-- | lib/sqlalchemy/databases/mssql.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/sqlalchemy/databases/mssql.py b/lib/sqlalchemy/databases/mssql.py index ac803cfd7..23ad925f2 100644 --- a/lib/sqlalchemy/databases/mssql.py +++ b/lib/sqlalchemy/databases/mssql.py @@ -1000,6 +1000,16 @@ class MSSQLCompiler(compiler.DefaultCompiler): kwargs['mssql_aliased'] = True return super(MSSQLCompiler, self).visit_alias(alias, **kwargs) + def visit_savepoint(self, savepoint_stmt): + util.warn("Savepoint support in mssql is experimental and may lead to data loss.") + return "SAVE TRANSACTION %s" % self.preparer.format_savepoint(savepoint_stmt) + + def visit_rollback_to_savepoint(self, savepoint_stmt): + return "ROLLBACK TRANSACTION %s" % self.preparer.format_savepoint(savepoint_stmt) + + def visit_release_savepoint(self, savepoint_stmt): + pass + def visit_column(self, column, result_map=None, **kwargs): if column.table is not None and \ (not self.isupdate and not self.isdelete) or self.is_subquery(): |