Skip to content

Commit d261c71

Browse files
committed
chore: move changes from ee (#2956)
1 parent 06ccf9d commit d261c71

File tree

3 files changed

+24
-10
lines changed

3 files changed

+24
-10
lines changed

packages/common/universaldb/src/transaction.rs

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@ impl Transaction {
105105
self.driver.clear(&self.subspace.pack(key));
106106
}
107107

108+
pub fn delete_subspace(&self, subspace: &Subspace) {
109+
self.informal()
110+
.clear_subspace_range(&self.subspace.join(&subspace));
111+
}
112+
108113
pub fn delete_key_subspace<T: TuplePack>(&self, key: &T) {
109114
self.informal()
110115
.clear_subspace_range(&self.subspace.subspace(&self.subspace.pack(key)));
@@ -176,15 +181,15 @@ impl Transaction {
176181
self.driver.get_ranges_keyvalues(opt, isolation_level)
177182
}
178183

179-
pub fn read_entries<'a, T: FormalKey + for<'de> TupleUnpack<'de>>(
180-
&'a self,
181-
opt: RangeOption<'a>,
182-
isolation_level: IsolationLevel,
183-
) -> impl futures_util::Stream<Item = Result<(T, T::Value)>> {
184-
self.driver
185-
.get_ranges_keyvalues(opt, isolation_level)
186-
.map(|res| self.read_entry(&res?))
187-
}
184+
// TODO: Fix types
185+
// pub fn read_entries<'a, T: FormalKey + for<'de> TupleUnpack<'de>>(
186+
// &'a self,
187+
// opt: RangeOption<'a>,
188+
// isolation_level: IsolationLevel,
189+
// ) -> impl futures_util::Stream<Item = Result<(T, T::Value)>> {
190+
// self.read_range(opt, isolation_level)
191+
// .map(|res| self.read_entry(&res?))
192+
// }
188193

189194
// ==== TODO: Remove. all of these should only be used via `tx.informal()` ====
190195
pub fn get<'a>(
@@ -316,7 +321,7 @@ impl<'t> InformalTransaction<'t> {
316321
}
317322

318323
/// Clear all keys in a subspace range
319-
pub fn clear_subspace_range(&self, subspace: &Subspace) {
324+
pub fn clear_subspace_range(&self, subspace: &tuple::Subspace) {
320325
let (begin, end) = subspace.range();
321326
self.inner.driver.clear_range(&begin, &end);
322327
}

packages/common/universaldb/src/utils/keys.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,4 +122,7 @@ define_keys! {
122122
(94, SERVERLESS, "serverless"),
123123
(95, DESIRED_SLOTS, "desired_slots"),
124124
(96, BY_VARIANT, "by_variant"),
125+
(97, ACL, "acl"),
126+
(98, TOKEN, "token"),
127+
(99, SECRET, "secret"),
125128
}

packages/common/universaldb/src/utils/subspace.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@ impl Subspace {
3636
}
3737
}
3838

39+
pub fn join(&self, s: &Subspace) -> Self {
40+
Self {
41+
inner: tuple::Subspace::from_bytes([self.inner.bytes(), s.bytes()].concat()),
42+
}
43+
}
44+
3945
/// Returns the key encoding the specified Tuple with the prefix of this Subspace
4046
/// prepended.
4147
pub fn pack<T: TuplePack>(&self, t: &T) -> Vec<u8> {

0 commit comments

Comments
 (0)