'Searches through all documents and finds all documents that were
modified or deleted within the range.
Since we have very few documents in the doc dict when this is called,
linear search is fine. This method is only used by rollbacks to query
all the documents in the target engine within a certain timestamp
window. The input will be two longs (converted from Bson timestamp)
which specify the time range. The start_ts refers to the timestamp
of the last oplog entry after a rollback. The end_ts is the timestamp
of the last document committed to the backend.'

def search(self, start_ts, end_ts):

    for _id in self.doc_dict:
        entry = self.doc_dict[_id]
        if ((entry.ts <= end_ts) or (entry.ts >= start_ts)):
            (yield entry.meta_dict)
