Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/django/db/__init__.py: 80%
16 statements
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
1from django.core import signals
2from django.db.utils import (
3 DEFAULT_DB_ALIAS,
4 DJANGO_VERSION_PICKLE_KEY,
5 ConnectionHandler,
6 ConnectionRouter,
7 DatabaseError,
8 DataError,
9 Error,
10 IntegrityError,
11 InterfaceError,
12 InternalError,
13 NotSupportedError,
14 OperationalError,
15 ProgrammingError,
16)
17from django.utils.connection import ConnectionProxy
19__all__ = [
20 "connection",
21 "connections",
22 "router",
23 "DatabaseError",
24 "IntegrityError",
25 "InternalError",
26 "ProgrammingError",
27 "DataError",
28 "NotSupportedError",
29 "Error",
30 "InterfaceError",
31 "OperationalError",
32 "DEFAULT_DB_ALIAS",
33 "DJANGO_VERSION_PICKLE_KEY",
34]
36connections = ConnectionHandler()
38router = ConnectionRouter()
40# For backwards compatibility. Prefer connections['default'] instead.
41connection = ConnectionProxy(connections, DEFAULT_DB_ALIAS)
44# Register an event to reset saved queries when a Django request is started.
45def reset_queries(**kwargs):
46 for conn in connections.all():
47 conn.queries_log.clear()
50signals.request_started.connect(reset_queries)
53# Register an event to reset transaction state and close connections past
54# their lifetime.
55def close_old_connections(**kwargs):
56 for conn in connections.all():
57 conn.close_if_unusable_or_obsolete()
60signals.request_started.connect(close_old_connections)
61signals.request_finished.connect(close_old_connections)