From c6a67bbed0c9853a9f9d67c6f55f4a06f9af45b7 Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Thu, 3 Apr 2014 19:34:36 +0200 Subject: Fix #571 -- Improve database engine detection. --- debug_toolbar/panels/sql/views.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'debug_toolbar/panels/sql/views.py') diff --git a/debug_toolbar/panels/sql/views.py b/debug_toolbar/panels/sql/views.py index 05ad74f..d8c94a0 100644 --- a/debug_toolbar/panels/sql/views.py +++ b/debug_toolbar/panels/sql/views.py @@ -39,17 +39,15 @@ def sql_explain(request): if form.is_valid(): sql = form.cleaned_data['raw_sql'] params = form.cleaned_data['params'] + vendor = form.connection.vendor cursor = form.cursor - conn = form.connection - engine = conn.__class__.__module__.split('.', 1)[0] - - if engine == "sqlite3": + if vendor == 'sqlite': # SQLite's EXPLAIN dumps the low-level opcodes generated for a query; # EXPLAIN QUERY PLAN dumps a more human-readable summary # See http://www.sqlite.org/lang_explain.html for details cursor.execute("EXPLAIN QUERY PLAN %s" % (sql,), params) - elif engine == "psycopg2": + elif vendor == 'postgresql': cursor.execute("EXPLAIN ANALYZE %s" % (sql,), params) else: cursor.execute("EXPLAIN %s" % (sql,), params) -- cgit v1.2.3