[Fix] use old execution id when select for update fail

This commit is contained in:
obdev
2022-12-19 07:07:59 +00:00
committed by ob-robot
parent 0575caf883
commit 194d99c19c
27 changed files with 90 additions and 88 deletions

View File

@ -6000,7 +6000,7 @@ int ObStaticEngineCG::set_other_properties(const ObLogPlan &log_plan, ObPhysical
if (log_plan.get_stmt()->get_table_items().count() > 0) {
const TableItem *insert_table_item = log_plan.get_stmt()->get_table_item(0);
if (nullptr != insert_table_item) {
int64_t ddl_execution_id = 0;
int64_t ddl_execution_id = -1;
int64_t ddl_task_id = 0;
const ObOptParamHint *opt_params = &log_plan.get_stmt()->get_query_ctx()->get_global_hint().opt_params_;
OZ(opt_params->get_integer_opt_param(ObOptParamHint::DDL_EXECUTION_ID, ddl_execution_id));

View File

@ -115,7 +115,7 @@ ObPhysicalPlan::ObPhysicalPlan(MemoryContext &mem_context /* = CURRENT_CONTEXT *
contain_pl_udf_or_trigger_(false),
ddl_schema_version_(0),
ddl_table_id_(0),
ddl_execution_id_(0),
ddl_execution_id_(-1),
ddl_task_id_(0),
is_packed_(false),
has_instead_of_trigger_(false)

View File

@ -601,7 +601,7 @@ bool ObOptParamHint::is_param_val_valid(const OptParamType param_type, const ObO
break;
}
case DDL_EXECUTION_ID: {
is_valid = val.is_int() && (0 < val.get_int());
is_valid = val.is_int() && (0 <= val.get_int());
break;
}
case DDL_TASK_ID: {