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: