mirror of
https://github.com/django/django.git
synced 2025-10-25 06:36:07 +00:00
Removed legacy transaction management per the deprecation timeline.
This commit is contained in:
@@ -77,20 +77,6 @@ class DefaultBackendProxy(object):
|
||||
backend = DefaultBackendProxy()
|
||||
|
||||
|
||||
def close_connection(**kwargs):
|
||||
warnings.warn(
|
||||
"close_connection is superseded by close_old_connections.",
|
||||
RemovedInDjango18Warning, stacklevel=2)
|
||||
# Avoid circular imports
|
||||
from django.db import transaction
|
||||
for conn in connections:
|
||||
# If an error happens here the connection will be left in broken
|
||||
# state. Once a good db connection is again available, the
|
||||
# connection state will be cleaned up.
|
||||
transaction.abort(conn)
|
||||
connections[conn].close()
|
||||
|
||||
|
||||
# Register an event to reset saved queries when a Django request is started.
|
||||
def reset_queries(**kwargs):
|
||||
for conn in connections.all():
|
||||
@@ -99,14 +85,9 @@ signals.request_started.connect(reset_queries)
|
||||
|
||||
|
||||
# Register an event to reset transaction state and close connections past
|
||||
# their lifetime. NB: abort() doesn't do anything outside of a transaction.
|
||||
# their lifetime.
|
||||
def close_old_connections(**kwargs):
|
||||
for conn in connections.all():
|
||||
# Remove this when the legacy transaction management goes away.
|
||||
try:
|
||||
conn.abort()
|
||||
except DatabaseError:
|
||||
pass
|
||||
conn.close_if_unusable_or_obsolete()
|
||||
signals.request_started.connect(close_old_connections)
|
||||
signals.request_finished.connect(close_old_connections)
|
||||
|
||||
Reference in New Issue
Block a user