pub struct QueryRewriter { /* private fields */ }Expand description
Query rewriter with pluggable rules
Implementations§
Source§impl QueryRewriter
impl QueryRewriter
Sourcepub fn new() -> QueryRewriter
pub fn new() -> QueryRewriter
Create a new rewriter with default rules
Sourcepub fn add_rule(&mut self, rule: Box<dyn RewriteRule>)
pub fn add_rule(&mut self, rule: Box<dyn RewriteRule>)
Add a custom rewrite rule
Sourcepub fn rewrite_with_context(
&self,
query: QueryExpr,
ctx: &mut RewriteContext,
) -> QueryExpr
pub fn rewrite_with_context( &self, query: QueryExpr, ctx: &mut RewriteContext, ) -> QueryExpr
Rewrite with access to context
Trait Implementations§
Source§impl Default for QueryRewriter
impl Default for QueryRewriter
Source§fn default() -> QueryRewriter
fn default() -> QueryRewriter
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for QueryRewriter
impl !RefUnwindSafe for QueryRewriter
impl Send for QueryRewriter
impl Sync for QueryRewriter
impl Unpin for QueryRewriter
impl UnsafeUnpin for QueryRewriter
impl !UnwindSafe for QueryRewriter
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request