pub struct ColumnarInsertMsg {
pub lite_id: String,
pub collection: String,
pub rows: Vec<Vec<u8>>,
pub batch_id: u64,
pub schema_bytes: Vec<u8>,
}Expand description
Columnar batch insert (client → server, 0xA0).
Carries one or more rows for a columnar collection. Each entry in
rows is a MessagePack-serialized Vec<nodedb_types::value::Value>
with entries in schema column order.
schema_bytes is a MessagePack-serialized ColumnarSchema. Origin uses
it to create the collection if it does not yet exist (definition-sync
guarantees it will already exist in most cases, but the schema hint
lets Origin validate column count and types rather than guessing).
Fields§
§lite_id: StringLite instance ID (for routing and dedup).
collection: StringTarget collection name.
rows: Vec<Vec<u8>>Batch of rows. Each element is MessagePack Vec<Value> (schema column order).
batch_id: u64Monotonic batch ID (Lite-assigned, per-collection). Used for ACK correlation.
schema_bytes: Vec<u8>MessagePack-serialized ColumnarSchema. May be empty for collections
that were already synced via definition-sync.
Trait Implementations§
Source§impl Clone for ColumnarInsertMsg
impl Clone for ColumnarInsertMsg
Source§fn clone(&self) -> ColumnarInsertMsg
fn clone(&self) -> ColumnarInsertMsg
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ColumnarInsertMsg
impl Debug for ColumnarInsertMsg
Source§impl<'de> Deserialize<'de> for ColumnarInsertMsg
impl<'de> Deserialize<'de> for ColumnarInsertMsg
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<'__msgpack_de> FromMessagePack<'__msgpack_de> for ColumnarInsertMsg
impl<'__msgpack_de> FromMessagePack<'__msgpack_de> for ColumnarInsertMsg
Source§impl Serialize for ColumnarInsertMsg
impl Serialize for ColumnarInsertMsg
Auto Trait Implementations§
impl Freeze for ColumnarInsertMsg
impl RefUnwindSafe for ColumnarInsertMsg
impl Send for ColumnarInsertMsg
impl Sync for ColumnarInsertMsg
impl Unpin for ColumnarInsertMsg
impl UnsafeUnpin for ColumnarInsertMsg
impl UnwindSafe for ColumnarInsertMsg
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> FromMessagePackOwned for Twhere
T: for<'a> FromMessagePack<'a>,
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.