Example #1
0
    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()
Example #2
0
    cnn.commit()

    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()