diff options
| author | David Cramer | 2011-04-06 16:07:46 -0700 |
|---|---|---|
| committer | David Cramer | 2011-04-06 16:07:46 -0700 |
| commit | a9b466b6672c72f498e3f011524d48726937d1d5 (patch) | |
| tree | a6006ec0fa95eb625fa2bdfd16dd39b3f4286373 /debug_toolbar/panels/sql.py | |
| parent | 72271115974463f30a2f9f8755e42acc69e204c3 (diff) | |
| download | django-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.py | 17 |
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)) |
