pub struct QueryPlanner { /* private fields */ }Expand description
Query planner that combines rewriting, caching, and cost estimation
Implementations§
Source§impl QueryPlanner
impl QueryPlanner
Sourcepub fn with_cache_size(cache_size: usize) -> Self
pub fn with_cache_size(cache_size: usize) -> Self
Create with custom cache size
Sourcepub fn with_stats_provider(provider: Arc<dyn StatsProvider>) -> Self
pub fn with_stats_provider(provider: Arc<dyn StatsProvider>) -> Self
Create a planner backed by a real stats provider.
Sourcepub fn plan(&mut self, query: QueryExpr) -> QueryPlan
pub fn plan(&mut self, query: QueryExpr) -> QueryPlan
Plan a query - returns cached plan if available
Sourcepub fn invalidate_cache<F>(&mut self, predicate: F)
pub fn invalidate_cache<F>(&mut self, predicate: F)
Invalidate cache entries matching a predicate
Sourcepub fn clear_cache(&mut self)
pub fn clear_cache(&mut self)
Clear the entire cache
Sourcepub fn cache_stats(&self) -> CacheStats
pub fn cache_stats(&self) -> CacheStats
Get cache statistics
Trait Implementations§
Auto Trait Implementations§
impl Freeze for QueryPlanner
impl !RefUnwindSafe for QueryPlanner
impl Send for QueryPlanner
impl Sync for QueryPlanner
impl Unpin for QueryPlanner
impl UnsafeUnpin for QueryPlanner
impl !UnwindSafe for QueryPlanner
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