From 29ebfe7ca2ec3b18c7ebb94abcdb2ad6d20f09ba Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Mon, 25 Nov 2024 21:51:23 -0500 Subject: [PATCH] Implement Database.query_sql() Implement Database.query_sql() to allow fetching mapped objects returned from raw SQL query --- lib/nntp/tiny/db.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/nntp/tiny/db.py b/lib/nntp/tiny/db.py index 6b398ff..c372d19 100644 --- a/lib/nntp/tiny/db.py +++ b/lib/nntp/tiny/db.py @@ -89,6 +89,12 @@ class Database(): self.db.execute(sql, values) + def query_sql(self, table, sql, values=list()): + cr = DatabaseTableCursor(table, self.db.cursor()) + cr.execute(sql, values) + + return cr + def query(self, table, values=dict(), order_by=list()): sql = f"select * from {table.name}" @@ -114,10 +120,7 @@ class Database(): elif order is DatabaseOrder.DESC: sql += f" {column} desc" - cr = DatabaseTableCursor(table, self.db.cursor()) - cr.execute(sql, list(values.values())) - - return cr + return self.query_sql(table, sql, list(values.values())) def get(self, table, values: dict=dict()): return self.query(table, values).fetchone()