Example #1
0
    def replay_compacted(self):
        compacted_transactions = os.listdir(self.data_path + '/compact/')
        compacted_transactions.sort()

        cur_trans = None
        for i in compacted_transactions:
            f = open(self.data_path + '/compact/' + i)
            for j in f.readlines():
                j = j.strip()
                if j.startswith('begin'):
                    # start transaction
                    if cur_trans:
                        self.commit_transaction(cur_trans, is_replay=True)
                    ts, rev, hash = j.split(' ')[1].split("_")
                    cur_trans = Transaction(rev)
                    cur_trans.ts = ts
                else:
                    cur_trans.statements.append( Statement.from_json(j) )
        if cur_trans:
            self.commit_transaction(cur_trans)