diff --git a/Cargo.lock b/Cargo.lock index 7d51a01..20bb872 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -405,7 +405,7 @@ dependencies = [ [[package]] name = "mini-lsm" -version = "0.1.0" +version = "0.2.0" dependencies = [ "anyhow", "arc-swap", @@ -426,7 +426,7 @@ dependencies = [ [[package]] name = "mini-lsm-starter" -version = "0.1.0" +version = "0.2.0" dependencies = [ "anyhow", "arc-swap", @@ -447,7 +447,7 @@ dependencies = [ [[package]] name = "mini-lsm-xtask" -version = "0.1.0" +version = "0.2.0" dependencies = [ "anyhow", "clap", diff --git a/Cargo.toml b/Cargo.toml index 604c9a5..36db65f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = ["mini-lsm", "xtask", "mini-lsm-starter"] resolver = "2" [workspace.package] -version = "0.1.0" +version = "0.2.0" edition = "2021" homepage = "https://github.com/skyzh/mini-lsm" keywords = ["storage", "database", "tutorial"] diff --git a/mini-lsm-starter/Cargo.toml b/mini-lsm-starter/Cargo.toml index 5a2fe17..25943e5 100644 --- a/mini-lsm-starter/Cargo.toml +++ b/mini-lsm-starter/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mini-lsm-starter" -version = "0.1.0" +version = "0.2.0" edition = "2021" publish = false diff --git a/mini-lsm-starter/src/lsm_storage.rs b/mini-lsm-starter/src/lsm_storage.rs index 21f7025..c1b9ef8 100644 --- a/mini-lsm-starter/src/lsm_storage.rs +++ b/mini-lsm-starter/src/lsm_storage.rs @@ -158,6 +158,10 @@ impl MiniLsm { self.inner.delete(key) } + pub fn sync(&self) -> Result<()> { + self.inner.sync() + } + pub fn scan( &self, lower: Bound<&[u8]>, @@ -222,6 +226,10 @@ impl LsmStorageInner { Ok(storage) } + pub fn sync(&self) -> Result<()> { + unimplemented!() + } + /// Get a key from the storage. In day 7, this can be further optimized by using a bloom filter. pub fn get(&self, _key: &[u8]) -> Result> { unimplemented!() diff --git a/xtask/src/main.rs b/xtask/src/main.rs index 2cbb711..30fc10b 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -111,6 +111,11 @@ fn sync() -> Result<()> { std::fs::read_to_string(cargo_toml)?.replace("mini-lsm-starter", "mini-lsm") + "\n[workspace]\n", )?; + let wrapper_rs = "sync-tmp/mini-lsm-starter/src/bin/wrapper.rs"; + std::fs::write( + wrapper_rs, + std::fs::read_to_string(wrapper_rs)?.replace("mini_lsm_starter", "mini_lsm"), + )?; cmd!( "cargo", "semver-checks",