MCPcopy Create free account
hub / github.com/sqlalchemy/sqlalchemy / invalidate

Method invalidate

lib/sqlalchemy/pool/base.py:786–817  ·  view source on GitHub ↗
(
        self, e: Optional[BaseException] = None, soft: bool = False
    )

Source from the content-addressed store, hash-verified

784 self.__close()
785
786 def invalidate(
787 self, e: Optional[BaseException] = None, soft: bool = False
788 ) -> None:
789 # already invalidated
790 if self.dbapi_connection is None:
791 return
792 if soft:
793 self.__pool.dispatch.soft_invalidate(
794 self.dbapi_connection, self, e
795 )
796 else:
797 self.__pool.dispatch.invalidate(self.dbapi_connection, self, e)
798 if e is not None:
799 self.__pool.logger.info(
800 "%sInvalidate connection %r (reason: %s:%s)",
801 "Soft " if soft else "",
802 self.dbapi_connection,
803 e.__class__.__name__,
804 e,
805 )
806 else:
807 self.__pool.logger.info(
808 "%sInvalidate connection %r",
809 "Soft " if soft else "",
810 self.dbapi_connection,
811 )
812
813 if soft:
814 self._soft_invalidate_time = time.time()
815 else:
816 self.__close(terminate=True)
817 self.dbapi_connection = None
818
819 def get_connection(self) -> DBAPIConnection:
820 recycle = False

Callers 1

_checkin_failedMethod · 0.95

Calls 5

__closeMethod · 0.95
soft_invalidateMethod · 0.80
invalidateMethod · 0.45
infoMethod · 0.45
timeMethod · 0.45

Tested by

no test coverage detected