fix subplan filter compute equal set incorrectly

This commit is contained in:
ChangerR
2023-03-21 16:29:39 +00:00
committed by ob-robot
parent 600227d1cb
commit 6719115924
10 changed files with 192 additions and 140 deletions

View File

@ -309,7 +309,9 @@ int ObLogSet::compute_sharding_info()
dup_table_pos_,
strong_sharding_))) {
LOG_WARN("failed to compute basic sharding info", K(ret));
} else { /*do nothing*/ }
} else {
inherit_sharding_index_ = 0;
}
} else if (DistAlgo::DIST_PULL_TO_LOCAL == set_dist_algo_) {
strong_sharding_ = get_plan()->get_optimizer_context().get_local_sharding();
} else if (DistAlgo::DIST_SET_RANDOM == set_dist_algo_) {
@ -325,15 +327,19 @@ int ObLogSet::compute_sharding_info()
} else if (DistAlgo::DIST_NONE_HASH == set_dist_algo_) {
is_partition_wise_ = false;
strong_sharding_ = first_child->get_strong_sharding();
inherit_sharding_index_ = ObLogicalOperator::first_child;
} else if (DistAlgo::DIST_HASH_NONE == set_dist_algo_) {
is_partition_wise_ = false;
strong_sharding_ = second_child->get_strong_sharding();
inherit_sharding_index_ = ObLogicalOperator::second_child;
} else if (DistAlgo::DIST_NONE_ALL == set_dist_algo_) {
is_partition_wise_ = false;
strong_sharding_ = first_child->get_strong_sharding();
inherit_sharding_index_ = ObLogicalOperator::first_child;
} else if (DistAlgo::DIST_ALL_NONE == set_dist_algo_) {
is_partition_wise_ = false;
strong_sharding_ = second_child->get_strong_sharding();
inherit_sharding_index_ = ObLogicalOperator::second_child;
} else if (OB_FAIL(ObLogicalOperator::compute_sharding_info())) {
LOG_WARN("failed to compute sharding info", K(ret));
} else { /*do nothing*/ }