equal
deleted
inserted
replaced
1636 return self._cnx.commit(free_cnxset, reset_pool) |
1636 return self._cnx.commit(free_cnxset, reset_pool) |
1637 finally: |
1637 finally: |
1638 self._clear_thread_data(free_cnxset) |
1638 self._clear_thread_data(free_cnxset) |
1639 |
1639 |
1640 @deprecated('[3.19] use a Connection object instead') |
1640 @deprecated('[3.19] use a Connection object instead') |
1641 def rollback(self, free_cnxset=True, **kwargs): |
1641 def rollback(self, *args, **kwargs): |
1642 """rollback the current session's transaction""" |
1642 """rollback the current session's transaction""" |
|
1643 return self._rollback(*args, **kwargs) |
|
1644 |
|
1645 def _rollback(self, free_cnxset=True, **kwargs): |
1643 try: |
1646 try: |
1644 return self._cnx.rollback(free_cnxset, **kwargs) |
1647 return self._cnx.rollback(free_cnxset, **kwargs) |
1645 finally: |
1648 finally: |
1646 self._clear_thread_data(free_cnxset) |
1649 self._clear_thread_data(free_cnxset) |
1647 |
1650 |
1649 # do not close connections set on session close, since they are shared now |
1652 # do not close connections set on session close, since they are shared now |
1650 tracker = self._cnxset_tracker |
1653 tracker = self._cnxset_tracker |
1651 with self._lock: |
1654 with self._lock: |
1652 self._closed = True |
1655 self._closed = True |
1653 tracker.close() |
1656 tracker.close() |
1654 self.rollback() |
1657 self._rollback() |
1655 self.debug('waiting for open connection of session: %s', self) |
1658 self.debug('waiting for open connection of session: %s', self) |
1656 timeout = 10 |
1659 timeout = 10 |
1657 pendings = tracker.wait(timeout) |
1660 pendings = tracker.wait(timeout) |
1658 if pendings: |
1661 if pendings: |
1659 self.error('%i connection still alive after 10 seconds, will close ' |
1662 self.error('%i connection still alive after 10 seconds, will close ' |