pub enum DepSource {
Structural,
AstExtracted,
AstDeclared,
}Expand description
Where a dependency edge came from.
Structural edges are derived from the IR shape itself (schema←table,
table←index, FK references, sequence ownership). They exist in v0.1.
AstExtracted edges are derived by walking the parsed AST of an object
body (view body, function body, expression-index predicate, etc.).
First produced in v0.2 view sub-spec.
AstDeclared edges come from explicit -- @pgevolve dep: directives
that close the PL/pgSQL-dynamic-SQL gap (Decision 11). First produced
in v0.2 function sub-spec.
Ordering: Structural < AstExtracted < AstDeclared — structural edges
are tie-broken first in the Kahn min-heap to preserve v0.1 ordering.
Variants§
Structural
Derived from the IR shape; v0.1 default.
AstExtracted
Walked out of a parsed body AST.
AstDeclared
Declared by a -- @pgevolve dep: directive in source SQL.
Trait Implementations§
impl Copy for DepSource
Source§impl<'de> Deserialize<'de> for DepSource
impl<'de> Deserialize<'de> for DepSource
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for DepSource
Source§impl Ord for DepSource
impl Ord for DepSource
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialOrd for DepSource
impl PartialOrd for DepSource
impl StructuralPartialEq for DepSource
Auto Trait Implementations§
impl Freeze for DepSource
impl RefUnwindSafe for DepSource
impl Send for DepSource
impl Sync for DepSource
impl Unpin for DepSource
impl UnsafeUnpin for DepSource
impl UnwindSafe for DepSource
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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 more