MCPcopy Create free account
hub / github.com/cosdata/cosdata / update_version_metadata

Method update_version_metadata

src/models/versioning.rs:282–306  ·  view source on GitHub ↗
(
        &self,
        version: VersionNumber,
        records_upserted: u32,
        records_deleted: u32,
        total_operations: u32,
    )

Source from the content-addressed store, hash-verified

280 }
281
282 pub fn update_version_metadata(
283 &self,
284 version: VersionNumber,
285 records_upserted: u32,
286 records_deleted: u32,
287 total_operations: u32,
288 ) -> lmdb::Result<()> {
289 let mut txn = self.env.begin_rw_txn()?;
290 let version_key = key!(v:version);
291
292 let bytes = txn.get(self.db, &version_key)?;
293 let mut version_info = VersionInfo::deserialize(bytes).unwrap();
294 version_info.records_upserted = records_upserted;
295 version_info.records_deleted = records_deleted;
296 version_info.total_operations = total_operations;
297 txn.put(
298 self.db,
299 &version_key,
300 &version_info.serialize(),
301 WriteFlags::empty(),
302 )?;
303
304 txn.commit()?;
305 Ok(())
306 }
307
308 pub fn get_version(&self, version: VersionNumber) -> lmdb::Result<VersionInfo> {
309 let txn = self.env.begin_ro_txn()?;

Callers 2

index_implicit_txnMethod · 0.80
pre_commitMethod · 0.80

Calls 2

getMethod · 0.45
serializeMethod · 0.45

Tested by

no test coverage detected