From f6d528a035716ef2e9e582f20c1af59e65c065b6 Mon Sep 17 00:00:00 2001 From: Lee Miller Date: Wed, 11 Sep 2024 02:35:09 +0300 Subject: [PATCH] Set a row factory instead of nesting the iterator in __objects --- minode/sql.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/minode/sql.py b/minode/sql.py index 00bdd0d..d69916a 100644 --- a/minode/sql.py +++ b/minode/sql.py @@ -41,14 +41,16 @@ class Inventory(): cur.execute("INSERT INTO status VALUES ('lastvacuumtime', ?)", (now,)) self._db.commit() + @staticmethod + def __object(cursor, row): + vector, expires, obj_type, version, stream, tag, data, offset = row + return structure.Object( + expires, obj_type, version, stream, data, offset, + tag=tag, vector=vector) + def __objects(self, cur): - return ( - structure.Object( - expires, obj_type, version, stream, data, offset, - tag=tag, vector=vector) - for (vector, expires, obj_type, version, stream, tag, data, offset) - in cur.fetchall() - ) + cur.row_factory = self.__object + return cur def cleanup(self): with shared.objects_lock: