pub type RowValue<C> = DomPair<C, SetUnionHashSet<String>>;
Expand description
Value stored in a table. Modelled as a timestamped set of strings.
Each value is timestamped with the time at which it was last updated. Concurrent updates at the same timestamp are stored as a set.
Aliased Type§
struct RowValue<C> {
pub key: C,
/* private fields */
}
Fields§
§key: C
The Key
of the dominating pair lattice, usually a timestamp.
This field is public as it is always monotonically increasing in its lattice.
Implementations
§impl<Key, Val> DomPair<Key, Val>
impl<Key, Val> DomPair<Key, Val>
pub fn new(key: Key, val: Val) -> DomPair<Key, Val>
pub fn new(key: Key, val: Val) -> DomPair<Key, Val>
Create a DomPair
from the given Key
and Val
.
pub fn new_from(key: impl Into<Key>, val: impl Into<Val>) -> DomPair<Key, Val>
pub fn new_from(key: impl Into<Key>, val: impl Into<Val>) -> DomPair<Key, Val>
Create a DomPair
from the given Into<Key>
and Into<Val>
.
pub fn as_reveal_ref(&self) -> (&Key, &Val)
pub fn as_reveal_ref(&self) -> (&Key, &Val)
Reveal the inner value as a shared reference.
pub fn as_reveal_mut(&mut self) -> (&mut Key, &mut Val)
pub fn as_reveal_mut(&mut self) -> (&mut Key, &mut Val)
Reveal the inner value as an exclusive reference.
pub fn into_reveal(self) -> (Key, Val)
pub fn into_reveal(self) -> (Key, Val)
Gets the inner by value, consuming self.
Trait Implementations
§impl<Key, Val> DeepReveal for DomPair<Key, Val>where
Key: DeepReveal,
Val: DeepReveal,
impl<Key, Val> DeepReveal for DomPair<Key, Val>where
Key: DeepReveal,
Val: DeepReveal,
§type Revealed = (<Key as DeepReveal>::Revealed, <Val as DeepReveal>::Revealed)
type Revealed = (<Key as DeepReveal>::Revealed, <Val as DeepReveal>::Revealed)
The underlying type when revealed.
§fn deep_reveal(self) -> <DomPair<Key, Val> as DeepReveal>::Revealed
fn deep_reveal(self) -> <DomPair<Key, Val> as DeepReveal>::Revealed
Reveals the underlying lattice types recursively.
§impl<'de, Key, Val> Deserialize<'de> for DomPair<Key, Val>where
Key: Deserialize<'de>,
Val: Deserialize<'de>,
impl<'de, Key, Val> Deserialize<'de> for DomPair<Key, Val>where
Key: Deserialize<'de>,
Val: Deserialize<'de>,
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<DomPair<Key, Val>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<DomPair<Key, Val>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl<Key, Val> IsBot for DomPair<Key, Val>where
Key: IsBot,
Val: IsBot,
impl<Key, Val> IsBot for DomPair<Key, Val>where
Key: IsBot,
Val: IsBot,
§impl<Key, Val> IsTop for DomPair<Key, Val>where
Key: IsTop,
Val: IsTop,
impl<Key, Val> IsTop for DomPair<Key, Val>where
Key: IsTop,
Val: IsTop,
§impl<KeySelf, KeyOther, ValSelf, ValOther> LatticeFrom<DomPair<KeyOther, ValOther>> for DomPair<KeySelf, ValSelf>where
KeySelf: LatticeFrom<KeyOther>,
ValSelf: LatticeFrom<ValOther>,
impl<KeySelf, KeyOther, ValSelf, ValOther> LatticeFrom<DomPair<KeyOther, ValOther>> for DomPair<KeySelf, ValSelf>where
KeySelf: LatticeFrom<KeyOther>,
ValSelf: LatticeFrom<ValOther>,
§fn lattice_from(other: DomPair<KeyOther, ValOther>) -> DomPair<KeySelf, ValSelf>
fn lattice_from(other: DomPair<KeyOther, ValOther>) -> DomPair<KeySelf, ValSelf>
Convert from the
Other
lattice into Self
.§impl<KeySelf, KeyOther, ValSelf, ValOther> Merge<DomPair<KeyOther, ValOther>> for DomPair<KeySelf, ValSelf>where
KeySelf: Merge<KeyOther> + LatticeFrom<KeyOther> + PartialOrd<KeyOther>,
ValSelf: Merge<ValOther> + LatticeFrom<ValOther>,
impl<KeySelf, KeyOther, ValSelf, ValOther> Merge<DomPair<KeyOther, ValOther>> for DomPair<KeySelf, ValSelf>where
KeySelf: Merge<KeyOther> + LatticeFrom<KeyOther> + PartialOrd<KeyOther>,
ValSelf: Merge<ValOther> + LatticeFrom<ValOther>,
§impl<KeySelf, KeyOther, ValSelf, ValOther> PartialEq<DomPair<KeyOther, ValOther>> for DomPair<KeySelf, ValSelf>
impl<KeySelf, KeyOther, ValSelf, ValOther> PartialEq<DomPair<KeyOther, ValOther>> for DomPair<KeySelf, ValSelf>
§impl<KeySelf, KeyOther, ValSelf, ValOther> PartialOrd<DomPair<KeyOther, ValOther>> for DomPair<KeySelf, ValSelf>where
KeySelf: PartialOrd<KeyOther>,
ValSelf: PartialOrd<ValOther>,
impl<KeySelf, KeyOther, ValSelf, ValOther> PartialOrd<DomPair<KeyOther, ValOther>> for DomPair<KeySelf, ValSelf>where
KeySelf: PartialOrd<KeyOther>,
ValSelf: PartialOrd<ValOther>,
§impl<Key, Val> Serialize for DomPair<Key, Val>
impl<Key, Val> Serialize for DomPair<Key, Val>
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more