From 1a772e304c194fc91d5efebfd0ba5fd9c367a79c Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Thu, 16 Jun 2022 16:01:38 +0530 Subject: [PATCH] fix(db): Store result of last executed query under frappe.db.last_result --- frappe/database/database.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/frappe/database/database.py b/frappe/database/database.py index 6dd3306b18..414e0c9358 100644 --- a/frappe/database/database.py +++ b/frappe/database/database.py @@ -212,8 +212,10 @@ class Database(object): if not self._cursor.description: return () + self.last_result = self._cursor.fetchall() + if pluck: - return [r[0] for r in self._cursor.fetchall()] + return [r[0] for r in self.last_result] # scrub output if required if as_dict: @@ -223,11 +225,11 @@ class Database(object): r.update(update) return ret elif as_list: - return self.convert_to_lists(self._cursor.fetchall(), formatted, as_utf8) + return self.convert_to_lists(self.last_result, formatted, as_utf8) elif as_utf8: - return self.convert_to_lists(self._cursor.fetchall(), formatted, as_utf8) + return self.convert_to_lists(self.last_result, formatted, as_utf8) else: - return self._cursor.fetchall() + return self.last_result def _log_query(self, mogrified_query: str, debug: bool = False, explain: bool = False) -> None: """Takes the query and logs it to various interfaces according to the settings.""" @@ -335,7 +337,7 @@ class Database(object): def fetch_as_dict(self, formatted=0, as_utf8=0): """Internal. Converts results to dict.""" - result = self._cursor.fetchall() + result = self.last_result ret = [] if result: keys = [column[0] for column in self._cursor.description]