fix outline/hint generate plan bug

This commit is contained in:
obdev
2023-03-04 01:41:06 +00:00
committed by ob-robot
parent a038417955
commit 9eba955ac6
20 changed files with 694 additions and 431 deletions

View File

@ -85,7 +85,10 @@ private:
const GroupingOpHelper &groupby_helper,
const bool ignore_hint,
bool &use_hash_valid,
bool &use_merge_valid);
bool &use_merge_valid,
bool &part_sort_valid,
bool &normal_sort_valid);
int update_part_sort_method(bool &part_sort_valid, bool &normal_sort_valid);
int candi_allocate_normal_group_by(const ObIArray<ObRawExpr*> &reduce_exprs,
const ObIArray<ObRawExpr*> &group_by_exprs,
const ObIArray<ObOrderDirection> &group_directions,
@ -160,6 +163,8 @@ private:
GroupingOpHelper &groupby_helper,
CandidatePlan &candidate_plan,
ObIArray<CandidatePlan> &candidate_plans,
bool part_sort_valid,
bool normal_sort_valid,
bool can_ignore_merge = false);
int generate_merge_group_sort_keys(ObLogicalOperator *top,
@ -671,9 +676,8 @@ private:
const bool is_from_povit,
GroupingOpHelper &groupby_helper,
ObLogicalOperator *&top,
bool &is_plan_valid,
bool can_ignore_merge = false,
bool use_part_sort = false);
bool use_part_sort,
bool can_ignore_merge = false);
DISALLOW_COPY_AND_ASSIGN(ObSelectLogPlan);
};