server/session.py
changeset 9509 592c22e1c5f0
parent 9495 0ae4e6d7ce2f
child 9543 39f981482e34
equal deleted inserted replaced
9508:1263f1258796 9509:592c22e1c5f0
  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 '