struct RelationVisitor {
relations: BTreeSet<ObjectName>,
all_ctes: BTreeSet<ObjectName>,
ctes_in_scope: Vec<ObjectName>,
}Fields§
§relations: BTreeSet<ObjectName>§all_ctes: BTreeSet<ObjectName>§ctes_in_scope: Vec<ObjectName>Implementations§
Source§impl RelationVisitor
impl RelationVisitor
Sourcefn insert_relation(&mut self, relation: &ObjectName)
fn insert_relation(&mut self, relation: &ObjectName)
Record the reference to relation, if it’s not a CTE reference.
Trait Implementations§
Source§impl Visitor for RelationVisitor
impl Visitor for RelationVisitor
Source§fn pre_visit_relation(&mut self, relation: &ObjectName) -> ControlFlow<()>
fn pre_visit_relation(&mut self, relation: &ObjectName) -> ControlFlow<()>
Invoked for any relations (e.g. tables) that appear in the AST before visiting children
Source§fn pre_visit_query(&mut self, q: &Query) -> ControlFlow<Self::Break>
fn pre_visit_query(&mut self, q: &Query) -> ControlFlow<Self::Break>
Invoked for any queries that appear in the AST before visiting children
Source§fn post_visit_query(&mut self, q: &Query) -> ControlFlow<Self::Break>
fn post_visit_query(&mut self, q: &Query) -> ControlFlow<Self::Break>
Invoked for any queries that appear in the AST after visiting children
Source§fn pre_visit_statement(&mut self, statement: &Statement) -> ControlFlow<()>
fn pre_visit_statement(&mut self, statement: &Statement) -> ControlFlow<()>
Invoked for any statements that appear in the AST before visiting children
§fn post_visit_relation(
&mut self,
_relation: &ObjectName,
) -> ControlFlow<Self::Break>
fn post_visit_relation( &mut self, _relation: &ObjectName, ) -> ControlFlow<Self::Break>
Invoked for any relations (e.g. tables) that appear in the AST after visiting children
§fn pre_visit_table_factor(
&mut self,
_table_factor: &TableFactor,
) -> ControlFlow<Self::Break>
fn pre_visit_table_factor( &mut self, _table_factor: &TableFactor, ) -> ControlFlow<Self::Break>
Invoked for any table factors that appear in the AST before visiting children
§fn post_visit_table_factor(
&mut self,
_table_factor: &TableFactor,
) -> ControlFlow<Self::Break>
fn post_visit_table_factor( &mut self, _table_factor: &TableFactor, ) -> ControlFlow<Self::Break>
Invoked for any table factors that appear in the AST after visiting children
§fn pre_visit_expr(&mut self, _expr: &Expr) -> ControlFlow<Self::Break>
fn pre_visit_expr(&mut self, _expr: &Expr) -> ControlFlow<Self::Break>
Invoked for any expressions that appear in the AST before visiting children
§fn post_visit_expr(&mut self, _expr: &Expr) -> ControlFlow<Self::Break>
fn post_visit_expr(&mut self, _expr: &Expr) -> ControlFlow<Self::Break>
Invoked for any expressions that appear in the AST
§fn post_visit_statement(
&mut self,
_statement: &Statement,
) -> ControlFlow<Self::Break>
fn post_visit_statement( &mut self, _statement: &Statement, ) -> ControlFlow<Self::Break>
Invoked for any statements that appear in the AST after visiting children
§fn pre_visit_value(&mut self, _value: &Value) -> ControlFlow<Self::Break>
fn pre_visit_value(&mut self, _value: &Value) -> ControlFlow<Self::Break>
Invoked for any Value that appear in the AST before visiting children
§fn post_visit_value(&mut self, _value: &Value) -> ControlFlow<Self::Break>
fn post_visit_value(&mut self, _value: &Value) -> ControlFlow<Self::Break>
Invoked for any Value that appear in the AST after visiting children
Auto Trait Implementations§
impl Freeze for RelationVisitor
impl RefUnwindSafe for RelationVisitor
impl Send for RelationVisitor
impl Sync for RelationVisitor
impl Unpin for RelationVisitor
impl UnwindSafe for RelationVisitor
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
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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