From 47d8b03b14145997fc0936bd674363f0e213f019 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 10 Sep 2006 23:52:04 +0000 Subject: - changed "for_update" parameter to accept False/True/"nowait" and "read", the latter two of which are interpreted only by Oracle and Mysql [ticket:292] - added "lockmode" argument to base Query select/get functions, including "with_lockmode" function to get a Query copy that has a default locking mode. Will translate "read"/"update" arguments into a for_update argument on the select side. [ticket:292] --- lib/sqlalchemy/databases/oracle.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/sqlalchemy/databases/oracle.py') diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py index 5f574338b..5db157cbb 100644 --- a/lib/sqlalchemy/databases/oracle.py +++ b/lib/sqlalchemy/databases/oracle.py @@ -402,6 +402,12 @@ class OracleCompiler(ansisql.ANSICompiler): def limit_clause(self, select): return "" + def for_update_clause(self, select): + if select.for_update=="nowait": + return " FOR UPDATE NOWAIT" + else: + return super(OracleCompiler, self).for_update_clause(select) + class OracleSchemaGenerator(ansisql.ANSISchemaGenerator): def get_column_specification(self, column, **kwargs): colspec = self.preparer.format_column(column) -- cgit v1.2.1