pub struct QueryOptimizer { /* private fields */ }Expand description
Query optimization and caching engine
Implementations§
Source§impl QueryOptimizer
impl QueryOptimizer
pub fn new(config: OptimizationConfig) -> Self
Sourcepub fn analyze_complexity(&self, document: &Document) -> Result<QueryComplexity>
pub fn analyze_complexity(&self, document: &Document) -> Result<QueryComplexity>
Analyze query complexity and validate against limits
Sourcepub async fn get_query_plan(&self, document: &Document) -> Result<QueryPlan>
pub async fn get_query_plan(&self, document: &Document) -> Result<QueryPlan>
Get or create optimized query plan
Sourcepub async fn get_cached_result(&self, cache_key: &str) -> Option<Value>
pub async fn get_cached_result(&self, cache_key: &str) -> Option<Value>
Get cached result if available and not expired
Sourcepub async fn cache_result(&self, cache_key: String, result: Value)
pub async fn cache_result(&self, cache_key: String, result: Value)
Cache query result
Auto Trait Implementations§
impl !RefUnwindSafe for QueryOptimizer
impl !UnwindSafe for QueryOptimizer
impl Freeze for QueryOptimizer
impl Send for QueryOptimizer
impl Sync for QueryOptimizer
impl Unpin for QueryOptimizer
impl UnsafeUnpin for QueryOptimizer
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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