fix mysql regression pl_collection_sqlqa.collections_not_null_oracle
This commit is contained in:
@ -6371,10 +6371,14 @@ int ObSPIService::convert_obj(ObPLExecCtx *ctx,
|
||||
if (OB_SUCC(ret)) {
|
||||
LOG_DEBUG("same type directyly copy", K(obj), K(tmp_obj), K(result_types[i]), K(i));
|
||||
}
|
||||
} else if (!(obj.is_pl_extend() || obj.is_user_defined_sql_type() || obj.is_null())
|
||||
} else if (!(obj.is_pl_extend()
|
||||
|| obj.is_user_defined_sql_type()
|
||||
|| (obj.is_null() && current_type.at(i).get_meta_type().is_user_defined_sql_type()))
|
||||
&& result_types[i].get_meta_type().is_ext()) {
|
||||
// sql udt or null can cast to pl extend
|
||||
// example: select extract(xmlparse(document '<a>a</a>'), '/b') into xml_data from dual;
|
||||
// sql udt can cast to pl extend, null from sql udt type can cast to pl extend(xmltype)
|
||||
// but null may not cast to other pl extends (return error 4016 in store_datums)
|
||||
// support: select extract(xmlparse(document '<a>a</a>'), '/b') into xml_data from dual;
|
||||
// not support: select null into xml_data from dual;
|
||||
ret = OB_ERR_INTO_EXPR_ILLEGAL;
|
||||
LOG_WARN("PLS-00597: expression 'string' in the INTO list is of wrong type", K(ret));
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user