Fix typos in W3D5 writeup and code (#67)
This commit is contained in:
@@ -27,7 +27,7 @@ In this task, you will need to modify:
|
|||||||
src/txn.rs
|
src/txn.rs
|
||||||
```
|
```
|
||||||
|
|
||||||
For `get`, you should first probe the local storage. If a value is found, return the value or `None` depending on whether it is a deletion marker. For `scan`, you will need to implement a `TxnLocalIterator` for the skiplist as in chapter 1.1 when you implement the iterator for a memtable without key timestamp. You will need to store a `TwoMergeIterator<TxnLocalIterator, FusedIterator<LsmIterator>>` in the `TxnLocalIterator`. And, lastly, given that the `TwoMergeIterator` will retain the deletion markers in the child iterators, you will need to modify your `TxnIterator` implementation to correctly handle deletions.
|
For `get`, you should first probe the local storage. If a value is found, return the value or `None` depending on whether it is a deletion marker. For `scan`, you will need to implement a `TxnLocalIterator` for the skiplist as in chapter 1.1 when you implement the iterator for a memtable without key timestamp. You will need to store a `TwoMergeIterator<TxnLocalIterator, FusedIterator<LsmIterator>>` in the `TxnIterator`. And, lastly, given that the `TwoMergeIterator` will retain the deletion markers in the child iterators, you will need to modify your `TxnIterator` implementation to correctly handle deletions.
|
||||||
|
|
||||||
## Task 3: Commit
|
## Task 3: Commit
|
||||||
|
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ type SkipMapRangeIter<'a> =
|
|||||||
pub struct TxnLocalIterator {
|
pub struct TxnLocalIterator {
|
||||||
/// Stores a reference to the skipmap.
|
/// Stores a reference to the skipmap.
|
||||||
map: Arc<SkipMap<Bytes, Bytes>>,
|
map: Arc<SkipMap<Bytes, Bytes>>,
|
||||||
/// Stores a skipmap iterator that refers to the lifetime of `MemTableIterator` itself.
|
/// Stores a skipmap iterator that refers to the lifetime of `TxnLocalIterator` itself.
|
||||||
#[borrows(map)]
|
#[borrows(map)]
|
||||||
#[not_covariant]
|
#[not_covariant]
|
||||||
iter: SkipMapRangeIter<'this>,
|
iter: SkipMapRangeIter<'this>,
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ type SkipMapRangeIter<'a> =
|
|||||||
pub struct TxnLocalIterator {
|
pub struct TxnLocalIterator {
|
||||||
/// Stores a reference to the skipmap.
|
/// Stores a reference to the skipmap.
|
||||||
map: Arc<SkipMap<Bytes, Bytes>>,
|
map: Arc<SkipMap<Bytes, Bytes>>,
|
||||||
/// Stores a skipmap iterator that refers to the lifetime of `MemTableIterator` itself.
|
/// Stores a skipmap iterator that refers to the lifetime of `TxnLocalIterator` itself.
|
||||||
#[borrows(map)]
|
#[borrows(map)]
|
||||||
#[not_covariant]
|
#[not_covariant]
|
||||||
iter: SkipMapRangeIter<'this>,
|
iter: SkipMapRangeIter<'this>,
|
||||||
|
|||||||
Reference in New Issue
Block a user