pub struct ColumnWrite {
pub reference: ColumnReference,
pub resolution: ResolutionKind,
}Expand description
One write-side occurrence of a ColumnReference — a written column —
pairing the identity with how the resolver resolved it against the target
(ResolutionKind). The write-role counterpart of ColumnRead, kept a
distinct type so a read can’t be passed where a write is meant.
resolution is the column’s catalog match against its write target:
Cataloged when the column is in the target’s
catalog column list, else Inferred
(catalog-free, the target’s columns aren’t known, the column isn’t listed,
or a freshly created / altered relation).
The owning table is pinned whenever the statement names the sink — every
INSERT / DDL write, a qualified SET t2.col, and an unqualified SET with
one writable relation. Only an unqualified SET among several writable
relations (a multi-table UPDATE t1 JOIN t2 SET col = …) is inferred,
with the same rules as a read: a sole candidate pins its owner, several
candidates surface Ambiguous and none
Unresolved — table: None, the column
still named, exactly like an unattributed ColumnRead. An unattributed
write contributes no table-level write.
Fields§
§reference: ColumnReference§resolution: ResolutionKindTrait Implementations§
Source§impl Clone for ColumnWrite
impl Clone for ColumnWrite
Source§fn clone(&self) -> ColumnWrite
fn clone(&self) -> ColumnWrite
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 ColumnWrite
impl Debug for ColumnWrite
impl Eq for ColumnWrite
Source§impl Hash for ColumnWrite
impl Hash for ColumnWrite
Source§impl PartialEq for ColumnWrite
impl PartialEq for ColumnWrite
Source§fn eq(&self, other: &ColumnWrite) -> bool
fn eq(&self, other: &ColumnWrite) -> bool
self and other values to be equal, and is used by ==.