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

Method new

src/models/versioning.rs:167–186  ·  view source on GitHub ↗
(env: Arc<Environment>, db: Database)

Source from the content-addressed store, hash-verified

165
166impl VersionControl {
167 pub fn new(env: Arc<Environment>, db: Database) -> lmdb::Result<(Self, VersionNumber)> {
168 let version = VersionNumber(0);
169 let version_meta = VersionInfo::new_implicit(version, u32::MAX, Utc::now(), 0, 0, 0);
170
171 let version_key = key!(v:version);
172 let current_version_key = key!(m:current_version);
173 let version_bytes = version_meta.serialize();
174
175 let mut txn = env.begin_rw_txn()?;
176 txn.put(db, &version_key, &version_bytes, WriteFlags::empty())?;
177 txn.put(
178 db,
179 &current_version_key,
180 &version.to_le_bytes(),
181 WriteFlags::empty(),
182 )?;
183 txn.commit()?;
184
185 Ok((Self { env, db }, version))
186 }
187
188 pub fn from_existing(env: Arc<Environment>, db: Database) -> Self {
189 Self { env, db }

Callers

nothing calls this directly

Calls 2

VersionNumberClass · 0.85
serializeMethod · 0.45

Tested by

no test coverage detected