From a9b466b6672c72f498e3f011524d48726937d1d5 Mon Sep 17 00:00:00 2001 From: David Cramer Date: Wed, 6 Apr 2011 16:07:46 -0700 Subject: SQL panel now guesses at Psycopg2 transactions (when autocommit swaps to in trans and vice versa) --- debug_toolbar/panels/sql.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'debug_toolbar/panels/sql.py') 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)) -- cgit v1.2.3