diff options
Diffstat (limited to 'oslo_db/sqlalchemy/enginefacade.py')
-rw-r--r-- | oslo_db/sqlalchemy/enginefacade.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/oslo_db/sqlalchemy/enginefacade.py b/oslo_db/sqlalchemy/enginefacade.py index 39fd25d..efe947e 100644 --- a/oslo_db/sqlalchemy/enginefacade.py +++ b/oslo_db/sqlalchemy/enginefacade.py @@ -1003,10 +1003,13 @@ class _TransactionContextManager(object): context_index = 1 else: context_index = 0 + context_kw = argspec.args[context_index] @functools.wraps(fn) def wrapper(*args, **kwargs): - context = args[context_index] + context = kwargs.get(context_kw, None) + if not context: + context = args[context_index] with self._transaction_scope(context): return fn(*args, **kwargs) |