diff options
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)) | 
