diff --git a/debug_toolbar/panels/sql/tracking.py b/debug_toolbar/panels/sql/tracking.py index 0c53dc2c5..b5fc81234 100644 --- a/debug_toolbar/panels/sql/tracking.py +++ b/debug_toolbar/panels/sql/tracking.py @@ -109,21 +109,6 @@ class NormalCursorMixin(DjDTCursorWrapperMixin): Wraps a cursor and logs queries. """ - def _quote_expr(self, element): - if isinstance(element, str): - return "'%s'" % element.replace("'", "''") - else: - return repr(element) - - def _quote_params(self, params): - if not params: - return params - if isinstance(params, dict): - return {key: self._quote_expr(value) for key, value in params.items()} - if isinstance(params, tuple): - return tuple(self._quote_expr(p) for p in params) - return [self._quote_expr(p) for p in params] - def _decode(self, param): if PostgresJson and isinstance(param, PostgresJson): # psycopg3 @@ -157,9 +142,7 @@ def _last_executed_query(self, sql, params): # process during the .last_executed_query() call. self.db._djdt_logger = None try: - return self.db.ops.last_executed_query( - self.cursor, sql, self._quote_params(params) - ) + return self.db.ops.last_executed_query(self.cursor, sql, params) finally: self.db._djdt_logger = self.logger diff --git a/docs/changes.rst b/docs/changes.rst index ad3cab34c..24679bfd1 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -5,6 +5,7 @@ Pending ------- * Removed outdated third-party panels from the list. +* Avoided the unnecessary work of recursively quoting SQL parameters. 4.2.0 (2023-08-10) ------------------