pub struct ColumnLineageEdge {
pub source: ColumnRead,
pub target: ColumnTarget,
pub kind: ColumnLineageKind,
}Expand description
A column-level lineage edge: data from source contributes to
target. Emitted for both relation-target statements (INSERT /
UPDATE / MERGE / CTAS / CREATE VIEW, target = ColumnTarget::Relation)
and bare SELECT (target = ColumnTarget::QueryOutput).
One edge per (source, target) pair: SELECT a + b FROM t1 emits two
edges, from t1.a and t1.b to the same query-output target, each
tagged Transformation.
Statements that physically move data emit collapsed end-to-end lineage
— INSERT INTO t1 (col) SELECT b FROM t2 emits t2.b → t1.col
directly, with no intermediate query-output entry.
Fields§
§source: ColumnReadThe column the lineage edge flows from, paired with the
resolver’s ResolutionKind in that placement.
source.reference is the inner (post-collapse) real-table
reference; source.resolution follows that inner reference’s
classification rather than the outer synthetic step’s.
target: ColumnTarget§kind: ColumnLineageKindTrait Implementations§
Source§impl Clone for ColumnLineageEdge
impl Clone for ColumnLineageEdge
Source§fn clone(&self) -> ColumnLineageEdge
fn clone(&self) -> ColumnLineageEdge
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 ColumnLineageEdge
impl Debug for ColumnLineageEdge
impl Eq for ColumnLineageEdge
Source§impl Hash for ColumnLineageEdge
impl Hash for ColumnLineageEdge
Source§impl PartialEq for ColumnLineageEdge
impl PartialEq for ColumnLineageEdge
Source§fn eq(&self, other: &ColumnLineageEdge) -> bool
fn eq(&self, other: &ColumnLineageEdge) -> bool
self and other values to be equal, and is used by ==.