pub struct InsertPlan {
pub collection: String,
pub engine: EngineType,
pub route: WriteRoute,
pub rows: Vec<Vec<(String, SqlValue)>>,
pub volatile_defaults: bool,
pub if_absent: bool,
pub column_schema: Vec<(String, String)>,
pub primary_key: Option<String>,
}Expand description
Per-family payloads of the larger SqlPlan variants.
Per-family payloads of the larger SqlPlan variants.
Per-family payloads of the larger SqlPlan variants.
Payload of SqlPlan::Insert.
Fields§
§collection: String§engine: EngineType§route: WriteRouteThe lowering these rows take, chosen by the engine’s EngineRules.
The conversion layer reads it instead of re-deciding from engine.
rows: Vec<Vec<(String, SqlValue)>>Every declared DEFAULT already materialized and every literal coerced to its declared column type by the planner.
volatile_defaults: boolWhether a DEFAULT materialized into rows was volatile. The
planner evaluates declared defaults while building this plan, so a
cached plan would replay one execution’s value; a volatile plan is
never cached.
if_absent: boolON CONFLICT DO NOTHING semantics: when true, duplicate-PK rows
are silently skipped instead of raising unique_violation. Plain
INSERT (no ON CONFLICT clause) sets this to false.
column_schema: Vec<(String, String)>Raw column type strings from the catalog: (column_name, type_str).
Forwarded from InsertParams::column_schema. Used by columnar
converters to reconstruct the exact ColumnType for columns whose
SqlDataType is ambiguous (e.g. JSON and Bytes both map to Bytes).
primary_key: Option<String>Declared PRIMARY KEY column name (if any), from
InsertParams::primary_key. Used by the conversion layer to
extract the document id from the correct column instead of
guessing at id/document_id/key.
Trait Implementations§
Source§impl Clone for InsertPlan
impl Clone for InsertPlan
Auto Trait Implementations§
impl Freeze for InsertPlan
impl RefUnwindSafe for InsertPlan
impl Send for InsertPlan
impl Sync for InsertPlan
impl Unpin for InsertPlan
impl UnsafeUnpin for InsertPlan
impl UnwindSafe for InsertPlan
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> ErasedDestructor for Twhere
T: 'static,
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> ⓘ
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> ⓘ
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> 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.Source§impl<T> Pointable for T
impl<T> Pointable for T
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.