pub struct SingleDistinctToGroupBy {}
Expand description
single distinct to group by optimizer rule
SELECT F1(DISTINCT s),F2(DISTINCT s)
...
GROUP BY k
Into
SELECT F1(alias1),F2(alias1)
FROM (
SELECT s as alias1, k ... GROUP BY s, k
)
GROUP BY k
Implementations§
Trait Implementations§
source§impl Default for SingleDistinctToGroupBy
impl Default for SingleDistinctToGroupBy
source§fn default() -> SingleDistinctToGroupBy
fn default() -> SingleDistinctToGroupBy
Returns the “default value” for a type. Read more
source§impl OptimizerRule for SingleDistinctToGroupBy
impl OptimizerRule for SingleDistinctToGroupBy
source§fn try_optimize(
&self,
plan: &LogicalPlan,
_config: &dyn OptimizerConfig
) -> Result<Option<LogicalPlan>>
fn try_optimize( &self, plan: &LogicalPlan, _config: &dyn OptimizerConfig ) -> Result<Option<LogicalPlan>>
Try and rewrite
plan
to an optimized form, returning None if the plan cannot be
optimized by this rule.source§fn apply_order(&self) -> Option<ApplyOrder>
fn apply_order(&self) -> Option<ApplyOrder>
How should the rule be applied by the optimizer? See comments on
ApplyOrder
for details. Read moreAuto Trait Implementations§
impl RefUnwindSafe for SingleDistinctToGroupBy
impl Send for SingleDistinctToGroupBy
impl Sync for SingleDistinctToGroupBy
impl Unpin for SingleDistinctToGroupBy
impl UnwindSafe for SingleDistinctToGroupBy
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