[CP] fix set partition wise and duplicate table bug

This commit is contained in:
zzg19950727
2024-01-22 13:47:10 +00:00
committed by ob-robot
parent 90aa44cf2d
commit 4555c41209
6 changed files with 29 additions and 33 deletions

View File

@ -2410,14 +2410,14 @@ int ObSelectLogPlan::check_sharding_inherit_from_access_all(ObLogicalOperator* o
is_inherit_from_access_all = true;
}
}
if (OB_SUCC(ret) &&
!is_inherit_from_access_all &&
op->get_inherit_sharding_index() != -1) {
int64_t idx = op->get_inherit_sharding_index();
if (idx < 0 || idx >= op->get_num_of_child()) {
for (int64_t i = 0; OB_SUCC(ret) && !is_inherit_from_access_all && i < op->get_num_of_child(); ++i) {
ObLogicalOperator *child = op->get_child(i);
if (OB_ISNULL(child)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpect inherit sharding index", K(ret));
} else if (OB_FAIL(SMART_CALL(check_sharding_inherit_from_access_all(op->get_child(idx),
LOG_WARN("unexpect null child", K(ret), K(i));
} else if (LOG_EXCHANGE == child->get_type()) {
//do nothing
} else if (OB_FAIL(SMART_CALL(check_sharding_inherit_from_access_all(child,
is_inherit_from_access_all)))) {
LOG_WARN("failed to check sharding inherit from bc2host", K(ret));
}