diff --git a/src/pl/pl_cache/ob_pl_cache_object.cpp b/src/pl/pl_cache/ob_pl_cache_object.cpp index 4a33602914..5e7f08f53d 100644 --- a/src/pl/pl_cache/ob_pl_cache_object.cpp +++ b/src/pl/pl_cache/ob_pl_cache_object.cpp @@ -75,6 +75,14 @@ int ObPLCacheObject::set_params_info(const ParamStore ¶ms) LOG_WARN("nested table is null", K(ret)); } else { param_info.udt_id_ = composite->get_id(); + if (OB_INVALID_ID == param_info.udt_id_) { // anonymous array + if (OB_FAIL(sql::ObSQLUtils::get_ext_obj_data_type(params.at(i), data_type))) { + LOG_WARN("fail to get ext obj data type", K(ret)); + } else { + param_info.ext_real_type_ = data_type.get_obj_type(); + param_info.scale_ = data_type.get_scale(); + } + } } } else { if (OB_FAIL(sql::ObSQLUtils::get_ext_obj_data_type(params.at(i), data_type))) {