Beispiel #1
0
 def __exit__(self, error_type, error_value, traceback):
     if error_type is None:
         try:
             self.commit()
         except:
             with safe_reraise():
                 self.rollback()
     else:
         self.rollback()
Beispiel #2
0
 def __exit__(self, error_type, error_value, traceback):
     if error_type is None:
         try:
             self.commit()
         except:
             with safe_reraise():
                 self.rollback()
     else:
         self.rollback()
Beispiel #3
0
 async def __aexit__(self, exc_type, exc_val, exc_tb):
     if exc_type is None and self._result._transaction.is_active:
         try:
             await self._result.commit()
         except:
             with util.safe_reraise():
                 await self._result.rollback()
     else:
         await self._result.rollback()
Beispiel #4
0
def commit_scope(session=None):
    """Commit any database operations within this scope."""
    session = session or Session()
    try:
        yield session
        session.commit()
    except Exception:
        with safe_reraise():
            session.rollback()
Beispiel #5
0
 def wrapper(*args, **kwargs):
     try:
         result = f(*args, **kwargs)
         db.session.commit()
     except:
         with safe_reraise():
             db.session.rollback()
     else:
         return result
Beispiel #6
0
 def __exit__(self, error_type, error_value, traceback):
     """End a transaction by committing or rolling back."""
     if error_type is None:
         try:
             self.commit()
         except Exception:
             with safe_reraise():
                 self.rollback()
     else:
         self.rollback()
Beispiel #7
0
 def __exit__(self, error_type, error_value, traceback):
     """End a transaction by committing or rolling back."""
     if error_type is None:
         try:
             self.commit()
         except:
             with safe_reraise():
                 self.rollback()
     else:
         self.rollback()