def foreach(self, cb, order=None): self.flush() cnn = self.db.connect() if order is None or order == ContentHandler.ORDER_REVISION: query = "SELECT object from _temp_log order by id desc" else: query = "SELECT object from _temp_log order by date asc" # We need to split the query to save memory icursor = ICursor(cnn.cursor(), self.INTERVAL_SIZE) icursor.execute(statement(query, self.db.place_holder)) rs = icursor.fetchmany() while rs: for t in rs: obj = t[0] io = BytesIO(obj) commit = load(io) io.close() cb(commit) rs = icursor.fetchmany() icursor.close() cnn.close()
name = uri.rstrip("/").split("/")[-1].strip() cursor = cnn.cursor() rep = DBRepository(None, uri, name, 'svn') cursor.execute(statement(DBRepository.__insert__, db.place_holder), (rep.id, rep.uri, rep.name, rep.type)) cursor.close() cnn.commit() ch = DBContentHandler(db) ch.begin() ch.repository(uri) # We need to split the query to save memory icursor = ICursor(cnn.cursor(), 100) icursor.execute(statement("SELECT object from _temp_log order by id desc", self.db.place_holder)) rs = icursor.fetchmany() while rs: for t in rs: obj = t[0] io = BytesIO(obj) commit = load(io) io.close() ch.commit(commit) rs = icursor.fetchmany() ch.end() icursor.close() cnn.close()