Fix ps prepare error 4016

This commit is contained in:
obdev
2023-06-22 03:18:28 +00:00
committed by ob-robot
parent 18882148c8
commit 4ff18491b9
9 changed files with 31 additions and 26 deletions

View File

@ -967,7 +967,7 @@ int ObSql::do_real_prepare(const ObString &sql,
context.is_dynamic_sql_ = !context.is_dynamic_sql_ ? !is_inner_sql : context.is_dynamic_sql_;
bool is_from_pl = (NULL != context.secondary_namespace_ || result.is_simple_ps_protocol());
ObPsPrepareStatusGuard ps_status_guard(session, is_from_pl);
ObPsPrepareStatusGuard ps_status_guard(session);
ObPlanCacheCtx pc_ctx(sql, PC_PS_MODE, allocator, context, ectx,
session.get_effective_tenant_id());
ParamStore param_store( (ObWrapperAllocator(&allocator)) );
@ -991,6 +991,8 @@ int ObSql::do_real_prepare(const ObString &sql,
&& ObSQLUtils::is_mysql_ps_not_support_stmt(parse_result)) {
ret = OB_ER_UNSUPPORTED_PS;
LOG_WARN("This command is not supported in the prepared statement protocol yet", K(ret));
} else {
ps_status_guard.is_varparams_sql_prepare(is_from_pl, parse_result.question_mark_ctx_.count_ > 0 ? true : false);
}
OZ (ObResolverUtils::resolve_stmt_type(parse_result, stmt_type));