pub struct QueryAnalysis {
    pub valid: bool,
    pub query_type: String,
    pub has_star: bool,
    pub star_locations: Vec<StarLocation>,
    pub tables: Vec<String>,
    pub columns: Vec<String>,
    pub ctes: Vec<CteAnalysis>,
    pub from_clause: Option<FromClauseInfo>,
    pub where_clause: Option<WhereClauseInfo>,
    pub errors: Vec<String>,
}Expand description
Comprehensive query analysis result
Fields§
§valid: boolWhether the query is syntactically valid
query_type: StringType of query: “SELECT”, “CTE”, etc.
has_star: boolWhether query contains SELECT *
star_locations: Vec<StarLocation>Locations of SELECT * in query
tables: Vec<String>Tables referenced in query
columns: Vec<String>Columns explicitly referenced
ctes: Vec<CteAnalysis>CTEs in query
from_clause: Option<FromClauseInfo>FROM clause information
where_clause: Option<WhereClauseInfo>WHERE clause information
errors: Vec<String>Parse/validation errors
Trait Implementations§
Source§impl Debug for QueryAnalysis
 
impl Debug for QueryAnalysis
Source§impl<'de> Deserialize<'de> for QueryAnalysis
 
impl<'de> Deserialize<'de> for QueryAnalysis
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for QueryAnalysis
impl RefUnwindSafe for QueryAnalysis
impl Send for QueryAnalysis
impl Sync for QueryAnalysis
impl Unpin for QueryAnalysis
impl UnwindSafe for QueryAnalysis
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
Source§impl<T> Instrument for T
 
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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