pub struct TableUpdate<F>where
F: WebsocketFormat,{
pub table_id: TableId,
pub table_name: Box<str>,
pub num_rows: u64,
pub updates: SmallVec<[<F as WebsocketFormat>::QueryUpdate; 1]>,
}Expand description
Part of a DatabaseUpdate received by client from database for alterations to a single table.
NOTE(centril): in 0.12 we added num_rows and table_name to the struct.
These inflate the size of messages, which for some customers is the wrong default.
We might want to consider v1.spacetimedb.bsatn.lightweight
Fields§
§table_id: TableIdThe id of the table. Clients should prefer table_name, as it is a stable part of a module’s API,
whereas table_id may change between runs.
table_name: Box<str>The name of the table.
NOTE(centril, 1.0): we might want to remove this and instead tell clients about changes to table_name <-> table_id mappings.
num_rows: u64The sum total of rows in self.updates,
updates: SmallVec<[<F as WebsocketFormat>::QueryUpdate; 1]>The actual insert and delete updates for this table.
Implementations§
Source§impl<F> TableUpdate<F>where
F: WebsocketFormat,
impl<F> TableUpdate<F>where
F: WebsocketFormat,
pub fn new( table_id: TableId, table_name: Box<str>, update: SingleQueryUpdate<F>, ) -> TableUpdate<F>
pub fn empty(table_id: TableId, table_name: Box<str>) -> TableUpdate<F>
pub fn push(&mut self, update: SingleQueryUpdate<F>)
pub fn num_rows(&self) -> usize
Trait Implementations§
Source§impl<F> Clone for TableUpdate<F>
impl<F> Clone for TableUpdate<F>
Source§fn clone(&self) -> TableUpdate<F>
fn clone(&self) -> TableUpdate<F>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<F> Debug for TableUpdate<F>
impl<F> Debug for TableUpdate<F>
Source§impl<'de, F> Deserialize<'de> for TableUpdate<F>where
F: WebsocketFormat + Deserialize<'de>,
impl<'de, F> Deserialize<'de> for TableUpdate<F>where
F: WebsocketFormat + Deserialize<'de>,
Source§fn deserialize<D>(
deserializer: D,
) -> Result<TableUpdate<F>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<TableUpdate<F>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given
deserializer.Source§impl<F> FromIterator<TableUpdate<F>> for DatabaseUpdate<F>where
F: WebsocketFormat,
impl<F> FromIterator<TableUpdate<F>> for DatabaseUpdate<F>where
F: WebsocketFormat,
Source§fn from_iter<T>(iter: T) -> DatabaseUpdate<F>where
T: IntoIterator<Item = TableUpdate<F>>,
fn from_iter<T>(iter: T) -> DatabaseUpdate<F>where
T: IntoIterator<Item = TableUpdate<F>>,
Creates a value from an iterator. Read more
Source§impl<F> Serialize for TableUpdate<F>where
F: WebsocketFormat + Serialize,
impl<F> Serialize for TableUpdate<F>where
F: WebsocketFormat + Serialize,
Source§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
self in the data format of S using the provided serializer.Source§impl<F> SpacetimeType for TableUpdate<F>where
F: WebsocketFormat + SpacetimeType + 'static,
impl<F> SpacetimeType for TableUpdate<F>where
F: WebsocketFormat + SpacetimeType + 'static,
Source§fn make_type<S>(__typespace: &mut S) -> AlgebraicTypewhere
S: TypespaceBuilder,
fn make_type<S>(__typespace: &mut S) -> AlgebraicTypewhere
S: TypespaceBuilder,
Returns an
AlgebraicType representing the type for Self in SATS
and in the typing context in typespace. This is used by the
automatic type registration system in Rust modules. Read moreAuto Trait Implementations§
impl<F> Freeze for TableUpdate<F>
impl<F> RefUnwindSafe for TableUpdate<F>
impl<F> Send for TableUpdate<F>
impl<F> Sync for TableUpdate<F>
impl<F> Unpin for TableUpdate<F>
impl<F> UnwindSafe for TableUpdate<F>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Satn for T
impl<T> Satn for T
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the SATN data format into the formatter
f.Source§fn fmt_psql(
&self,
f: &mut Formatter<'_>,
ty: &PsqlType<'_>,
) -> Result<(), Error>
fn fmt_psql( &self, f: &mut Formatter<'_>, ty: &PsqlType<'_>, ) -> Result<(), Error>
Formats the value using the postgres SATN(PsqlFormatter { f }, /* PsqlType */) formatter
f.Source§fn to_satn(&self) -> String
fn to_satn(&self) -> String
Formats the value using the SATN data format into the returned
String.Source§fn to_satn_pretty(&self) -> String
fn to_satn_pretty(&self) -> String
Pretty prints the value using the SATN data format into the returned
String.