pub fn scan<'a>(
        self: &'a Arc<Self>,
        lower: Bound<&[u8]>,
        upper: Bound<&[u8]>,
    ) -> Result<TxnIterator> {
        let txn = self.mvcc().new_txn(self.clone(), self.options.serializable);
        txn.scan(lower, upper)
    }
Create an iterator over a range of keys.
mini-lsm-mvcc/src/lsm_storage.rs