aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/panels/sql.py
diff options
context:
space:
mode:
authorDavid Cramer2011-04-06 16:07:46 -0700
committerDavid Cramer2011-04-06 16:07:46 -0700
commita9b466b6672c72f498e3f011524d48726937d1d5 (patch)
treea6006ec0fa95eb625fa2bdfd16dd39b3f4286373 /debug_toolbar/panels/sql.py
parent72271115974463f30a2f9f8755e42acc69e204c3 (diff)
downloaddjango-debug-toolbar-a9b466b6672c72f498e3f011524d48726937d1d5.tar.bz2
SQL panel now guesses at Psycopg2 transactions (when autocommit swaps to in trans and vice versa)
Diffstat (limited to 'debug_toolbar/panels/sql.py')
-rw-r--r--debug_toolbar/panels/sql.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/debug_toolbar/panels/sql.py b/debug_toolbar/panels/sql.py
index 344f5d6..9f4e83c 100644
--- a/debug_toolbar/panels/sql.py
+++ b/debug_toolbar/panels/sql.py
@@ -70,6 +70,23 @@ class SQLDebugPanel(DebugPanel):
self._num_queries = 0
self._queries = []
self._databases = {}
+ self._transaction_status = {}
+
+ def get_transaction_status(self, alias, reset=False):
+ conn = connections[alias].connection
+ if not conn:
+ return None
+
+ engine = conn.__class__.__module__.split('.', 1)[0]
+
+ if reset or self._transaction_status.get(alias) is None:
+ if engine == 'psycopg2':
+ self._transaction_status[alias] = conn.get_transaction_status()
+ else:
+ raise ValueError(engine)
+
+ return self._transaction_status[alias]
+
def record(self, alias, **kwargs):
self._queries.append((alias, kwargs))