pub struct VectorPrimaryInsertPlan {
pub collection: String,
pub field: String,
pub quantization: VectorQuantization,
pub storage_dtype: VectorStorageDtype,
pub payload_indexes: Vec<(String, PayloadIndexKind)>,
pub rows: Vec<VectorPrimaryRow>,
pub volatile_defaults: bool,
pub intent: VectorPrimaryInsertIntent,
pub on_conflict_updates: Vec<(String, SqlExpr)>,
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::VectorPrimaryInsert.
Fields§
§collection: String§field: StringVector column name (matches VectorPrimaryConfig::vector_field).
Plumbed to the direct write op so the Data Plane keys its HNSW
index by (tid, collection, field) — the same key the SELECT
path uses.
quantization: VectorQuantizationCollection-level quantization. Applied via set_quantization on
the first DirectUpsert so subsequent seals trigger codec-dispatch
rebuilds against the configured codec.
storage_dtype: VectorStorageDtypeNative storage dtype for vector values (F32 / F16 / BF16).
payload_indexes: Vec<(String, PayloadIndexKind)>Payload field names that get equality bitmap indexes. Registered
via payload.add_index on the first DirectUpsert.
rows: Vec<VectorPrimaryRow>§volatile_defaults: boolWhether any row carries a value materialized from a volatile
DEFAULT such as nextval. The value was evaluated while the plan
was built, so caching the lowered tasks would replay one
execution’s value into every later one.
intent: VectorPrimaryInsertIntentWhat an existing primary key means for each row. Mirrors
KvInsert::intent.
on_conflict_updates: Vec<(String, SqlExpr)>ON CONFLICT (pk) DO UPDATE SET field = expr assignments, carried
when intent == Upsert. Empty means whole-row replace.
primary_key: Option<String>Resolved primary-key column name. See Insert::primary_key.
Trait Implementations§
Source§impl Clone for VectorPrimaryInsertPlan
impl Clone for VectorPrimaryInsertPlan
Auto Trait Implementations§
impl Freeze for VectorPrimaryInsertPlan
impl RefUnwindSafe for VectorPrimaryInsertPlan
impl Send for VectorPrimaryInsertPlan
impl Sync for VectorPrimaryInsertPlan
impl Unpin for VectorPrimaryInsertPlan
impl UnsafeUnpin for VectorPrimaryInsertPlan
impl UnwindSafe for VectorPrimaryInsertPlan
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.