fix granule iterator generate T_PDML_PARTITION_ID expr bug

This commit is contained in:
sdc
2023-05-30 13:47:29 +00:00
committed by ob-robot
parent 3b31ff02ed
commit 4f890f0a8c
8 changed files with 31 additions and 15 deletions

View File

@ -58,9 +58,7 @@ const char *ObLogGranuleIterator::get_name() const
int ObLogGranuleIterator::get_op_exprs(ObIArray<ObRawExpr*> &all_exprs)
{
int ret = OB_SUCCESS;
if (NULL != tablet_id_expr_ && OB_FAIL(all_exprs.push_back(tablet_id_expr_))) {
LOG_WARN("failed to append expr", K(ret));
} else if (OB_FAIL(ObLogicalOperator::get_op_exprs(all_exprs))) {
if (OB_FAIL(ObLogicalOperator::get_op_exprs(all_exprs))) {
LOG_WARN("failed to get exprs", K(ret));
} else { /*do nothing*/ }
return ret;
@ -113,6 +111,18 @@ int ObLogGranuleIterator::get_plan_item_info(PlanText &plan_text,
return ret;
}
int ObLogGranuleIterator::allocate_expr_post(ObAllocExprContext &ctx)
{
int ret = OB_SUCCESS;
if (OB_FAIL(ObLogicalOperator::allocate_expr_post(ctx))) {
LOG_WARN("failed to allocate expr post", K(ret));
} else if (NULL != tablet_id_expr_ &&
OB_FAIL(get_plan()->get_optimizer_context().get_all_exprs().append(tablet_id_expr_))) {
LOG_WARN("failed to append expr", K(ret));
}
return ret;
}
int ObLogGranuleIterator::compute_op_ordering()
{
int ret = OB_SUCCESS;