diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 6e121cc56..2dc07de15 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -8,6 +8,7 @@ on: paths: - Cargo.toml - nodejs/** + - rust/** - docs/src/js/** - .github/workflows/nodejs.yml - docker-compose.yml diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index b837a633f..50c8f4ec9 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -8,6 +8,7 @@ on: paths: - Cargo.toml - python/** + - rust/** - .github/workflows/python.yml concurrency: diff --git a/rust/lancedb/src/table/dataset.rs b/rust/lancedb/src/table/dataset.rs index 31cb7fa8f..9c4580891 100644 --- a/rust/lancedb/src/table/dataset.rs +++ b/rust/lancedb/src/table/dataset.rs @@ -109,7 +109,9 @@ impl DatasetConsistencyWrapper { /// Store a new dataset version after a write operation. /// - /// Only stores the dataset if its version is newer than the current one. + /// Only stores the dataset if its version is at least as new as the current one. + /// Same-version updates are accepted for operations like manifest path migration + /// that modify the dataset without creating a new version. /// If the wrapper has since transitioned to time-travel mode (e.g. via a /// concurrent [`as_time_travel`](Self::as_time_travel) call), the update /// is silently ignored — the write already committed to storage. @@ -121,7 +123,7 @@ impl DatasetConsistencyWrapper { // cached pointer. return; } - if dataset.manifest().version > state.dataset.manifest().version { + if dataset.manifest().version >= state.dataset.manifest().version { state.dataset = Arc::new(dataset); } drop(state);