fix: fix ddl hang induced by check_status in inner sql execution
This commit is contained in:
@ -153,8 +153,6 @@ int ObInnerSQLResult::open()
|
|||||||
LOG_WARN("open result set failed", K(ret));
|
LOG_WARN("open result set failed", K(ret));
|
||||||
// move after precess_retry().
|
// move after precess_retry().
|
||||||
// result_set_->close();
|
// result_set_->close();
|
||||||
} else if (has_tenant_resource() && OB_FAIL(result_set_->get_exec_context().check_status())) {
|
|
||||||
LOG_WARN("failed check status", K(ret));
|
|
||||||
} else if (is_read_&& is_select) {
|
} else if (is_read_&& is_select) {
|
||||||
//prefetch 1 row for throwing error code and retry
|
//prefetch 1 row for throwing error code and retry
|
||||||
opened_ = true;
|
opened_ = true;
|
||||||
|
|||||||
@ -303,7 +303,9 @@ int ForeignKeyHandle::cascade(ObTableModifyOp &op,
|
|||||||
int64_t where_pos = 0;
|
int64_t where_pos = 0;
|
||||||
const ObString &database_name = fk_arg.database_name_;
|
const ObString &database_name = fk_arg.database_name_;
|
||||||
const ObString &table_name = fk_arg.table_name_;
|
const ObString &table_name = fk_arg.table_name_;
|
||||||
if (old_row.empty()) {
|
if (OB_FAIL(op.get_exec_ctx().check_status())) {
|
||||||
|
LOG_WARN("failed check status", K(ret));
|
||||||
|
} else if (old_row.empty()) {
|
||||||
ret = OB_INVALID_ARGUMENT;
|
ret = OB_INVALID_ARGUMENT;
|
||||||
LOG_WARN("old row is invalid", K(ret));
|
LOG_WARN("old row is invalid", K(ret));
|
||||||
} else if (OB_FAIL(gen_where(op.get_eval_ctx(), where_buf, where_len, where_pos,
|
} else if (OB_FAIL(gen_where(op.get_eval_ctx(), where_buf, where_len, where_pos,
|
||||||
|
|||||||
Reference in New Issue
Block a user