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 more