pub struct QueryPlanner { /* private fields */ }Expand description
Query planner - selects optimal execution strategy.
Implementations§
Source§impl QueryPlanner
impl QueryPlanner
Sourcepub fn new(cache_enabled: bool) -> Self
pub fn new(cache_enabled: bool) -> Self
Create new query planner with default JSONB optimization options.
Sourcepub fn with_jsonb_options(
cache_enabled: bool,
jsonb_options: JsonbOptimizationOptions,
) -> Self
pub fn with_jsonb_options( cache_enabled: bool, jsonb_options: JsonbOptimizationOptions, ) -> Self
Create query planner with custom JSONB optimization options.
Sourcepub fn plan(&self, query_match: &QueryMatch) -> Result<ExecutionPlan>
pub fn plan(&self, query_match: &QueryMatch) -> Result<ExecutionPlan>
Create an execution plan for a matched query.
§Arguments
query_match- Matched query with extracted information
§Returns
Execution plan with SQL, parameters, and optimization hints
§Errors
Returns error if plan generation fails.
§Example
ⓘ
let planner = QueryPlanner::new(true);
let plan = planner.plan(&query_match)?;
assert!(!plan.sql.is_empty());Sourcepub const fn cache_enabled(&self) -> bool
pub const fn cache_enabled(&self) -> bool
Check if caching is enabled.
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