fix: ensure WAL is atomic for each write batch (#84)
Signed-off-by: Alex Chi <iskyzh@gmail.com>
This commit is contained in:
@@ -76,10 +76,16 @@ impl MemTable {
|
||||
///
|
||||
/// In week 1, day 1, simply put the key-value pair into the skipmap.
|
||||
/// In week 2, day 6, also flush the data to WAL.
|
||||
/// In week 3, day 5, modify the function to use the batch API.
|
||||
pub fn put(&self, _key: &[u8], _value: &[u8]) -> Result<()> {
|
||||
unimplemented!()
|
||||
}
|
||||
|
||||
/// Implement this in week 3, day 5.
|
||||
pub fn put_batch(&self, _data: &[(KeySlice, &[u8])]) -> Result<()> {
|
||||
unimplemented!()
|
||||
}
|
||||
|
||||
pub fn sync_wal(&self) -> Result<()> {
|
||||
if let Some(ref wal) = self.wal {
|
||||
wal.sync()?;
|
||||
|
@@ -27,6 +27,11 @@ impl Wal {
|
||||
unimplemented!()
|
||||
}
|
||||
|
||||
/// Implement this in week 3, day 5.
|
||||
pub fn put_batch(&self, _data: &[(&[u8], &[u8])]) -> Result<()> {
|
||||
unimplemented!()
|
||||
}
|
||||
|
||||
pub fn sync(&self) -> Result<()> {
|
||||
unimplemented!()
|
||||
}
|
||||
|
Reference in New Issue
Block a user