pub enum AstPattern {
SelectStar,
SelectFrom {
table: String,
},
NoLimit,
NoWhere,
Insert,
Update,
Delete,
Ddl,
NPlusOne {
table: String,
},
FullTableScan,
And(Vec<AstPattern>),
Or(Vec<AstPattern>),
}Expand description
AST-level pattern matching
Variants§
SelectStar
SELECT * query
SelectFrom
SELECT with specific table
NoLimit
Query without LIMIT
NoWhere
Query without WHERE
Insert
INSERT statement
Update
UPDATE statement
Delete
DELETE statement
Ddl
DDL statement (CREATE, ALTER, DROP)
NPlusOne
N+1 query pattern
FullTableScan
Full table scan
And(Vec<AstPattern>)
Compound pattern
Or(Vec<AstPattern>)
Any of patterns
Implementations§
Source§impl AstPattern
impl AstPattern
Trait Implementations§
Source§impl Clone for AstPattern
impl Clone for AstPattern
Source§fn clone(&self) -> AstPattern
fn clone(&self) -> AstPattern
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for AstPattern
impl RefUnwindSafe for AstPattern
impl Send for AstPattern
impl Sync for AstPattern
impl Unpin for AstPattern
impl UnsafeUnpin for AstPattern
impl UnwindSafe for AstPattern
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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