Prevent dbapi from nesting transactions for metadata

Fixes #10038.
This commit is contained in:
prculley 2017-07-29 21:03:17 +01:00 committed by Nick Hall
parent c7249b5ca9
commit 2d592fa521

View File

@ -224,23 +224,26 @@ class DBAPI(DbGeneric):
Lowlevel interface to the backend transaction.
Executes a db BEGIN;
"""
_LOG.debug(" DBAPI %s transaction begin", hex(id(self)))
self.dbapi.begin()
if self.transaction == None:
_LOG.debug(" DBAPI %s transaction begin", hex(id(self)))
self.dbapi.begin()
def _txn_commit(self):
"""
Lowlevel interface to the backend transaction.
Executes a db END;
"""
_LOG.debug(" DBAPI %s transaction commit", hex(id(self)))
self.dbapi.commit()
if self.transaction == None:
_LOG.debug(" DBAPI %s transaction commit", hex(id(self)))
self.dbapi.commit()
def _txn_abort(self):
"""
Lowlevel interface to the backend transaction.
Executes a db ROLLBACK;
"""
self.dbapi.rollback()
if self.transaction == None:
self.dbapi.rollback()
def transaction_begin(self, transaction):
"""