aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/panels/sql.py
diff options
context:
space:
mode:
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))