aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/utils/tracking/db.py
diff options
context:
space:
mode:
authorDavid Cramer2011-04-06 16:29:33 -0700
committerDavid Cramer2011-04-06 16:29:33 -0700
commit0556fd7b48c709b5ff803eff01e0dd7eb07ba3fc (patch)
tree48825a176e98f0268d33e4ea6217de48c7a6e6a0 /debug_toolbar/utils/tracking/db.py
parenta9b466b6672c72f498e3f011524d48726937d1d5 (diff)
downloaddjango-debug-toolbar-0556fd7b48c709b5ff803eff01e0dd7eb07ba3fc.tar.bz2
Generate fake transaction ids so we can match up transaction end state correctly
Diffstat (limited to 'debug_toolbar/utils/tracking/db.py')
-rw-r--r--debug_toolbar/utils/tracking/db.py26
1 files changed, 10 insertions, 16 deletions
diff --git a/debug_toolbar/utils/tracking/db.py b/debug_toolbar/utils/tracking/db.py
index 234247a..87f4550 100644
--- a/debug_toolbar/utils/tracking/db.py
+++ b/debug_toolbar/utils/tracking/db.py
@@ -29,17 +29,7 @@ class CursorWrapper(object):
self.logger = logger
def execute(self, sql, params=()):
- alias = getattr(self, 'alias', 'default')
- conn = connections[alias].connection
- # HACK: avoid imports
- if conn:
- engine = conn.__class__.__module__.split('.', 1)[0]
- else:
- engine = 'unknown'
-
start = datetime.now()
- if engine == 'psycopg2':
- trans_status = self.logger.get_transaction_status(alias)
try:
return self.cursor.execute(sql, params)
finally:
@@ -66,6 +56,14 @@ class CursorWrapper(object):
pass
del cur_frame
+ alias = getattr(self, 'alias', 'default')
+ conn = connections[alias].connection
+ # HACK: avoid imports
+ if conn:
+ engine = conn.__class__.__module__.split('.', 1)[0]
+ else:
+ engine = 'unknown'
+
params = {
'engine': engine,
'alias': alias,
@@ -83,13 +81,9 @@ class CursorWrapper(object):
}
if engine == 'psycopg2':
- import psycopg2.extensions
- cur_trans_status = self.logger.get_transaction_status(alias, True)
params.update({
- 'starts_trans': cur_trans_status > trans_status,
- 'ends_trans': cur_trans_status < trans_status,
- 'in_trans': cur_trans_status == psycopg2.extensions.TRANSACTION_STATUS_INTRANS,
- 'trans_status': cur_trans_status,
+ 'trans_id': self.logger.get_transaction_id(alias),
+ 'trans_status': conn.get_transaction_status(),
'iso_level': conn.isolation_level,
'encoding': conn.encoding,
})