diff options
| author | Anssi Kääriäinen | 2012-07-05 14:06:21 +0300 |
|---|---|---|
| committer | Anssi Kääriäinen | 2012-08-27 14:26:11 +0300 |
| commit | e806603a6e4ac3d488a0cadb1e962507a6f76fc1 (patch) | |
| tree | cffbdc286fbbc83570127412e05180046eab37d6 /debug_toolbar/utils/tracking/db.py | |
| parent | 1258e75ddc5648695b1ccad7604b45c0834959bb (diff) | |
| download | django-debug-toolbar-e806603a6e4ac3d488a0cadb1e962507a6f76fc1.tar.bz2 | |
Fixed issue #230 -- Avoid queries in aborted transactions
On PostgreSQL when the transaction is in aborted status, checking
connection.isolation_level will result in an error.
Diffstat (limited to 'debug_toolbar/utils/tracking/db.py')
| -rw-r--r-- | debug_toolbar/utils/tracking/db.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/debug_toolbar/utils/tracking/db.py b/debug_toolbar/utils/tracking/db.py index 4d87090..01b4331 100644 --- a/debug_toolbar/utils/tracking/db.py +++ b/debug_toolbar/utils/tracking/db.py @@ -146,10 +146,17 @@ class NormalCursorWrapper(object): } if engine == 'psycopg2': + # If an erroneous query was ran on the connection, it might + # be in a state where checking isolation_level raises an + # exception. + try: + iso_level = conn.isolation_level + except conn.InternalError: + iso_level = 'unknown' params.update({ 'trans_id': self.logger.get_transaction_id(alias), 'trans_status': conn.get_transaction_status(), - 'iso_level': conn.isolation_level, + 'iso_level': iso_level, 'encoding': conn.encoding, }) |
