bugfix : [49401262] xmltype array error code not mismatch,[49423175] extract + transform sync fail then return default
This commit is contained in:
		@ -69,9 +69,16 @@ int ObExprCollectionConstruct::calc_result_typeN(ObExprResType &type,
 | 
				
			|||||||
  int ret = OB_SUCCESS;
 | 
					  int ret = OB_SUCCESS;
 | 
				
			||||||
  UNUSED(type_ctx);
 | 
					  UNUSED(type_ctx);
 | 
				
			||||||
  for (int64_t i = 0; OB_SUCC(ret) && i < param_num; i++) {
 | 
					  for (int64_t i = 0; OB_SUCC(ret) && i < param_num; i++) {
 | 
				
			||||||
 | 
					    if ((ObExtendType == elem_type_.get_obj_type()
 | 
				
			||||||
 | 
					          && types[i].get_type() != ObExtendType && types[i].get_type() != ObNullType)
 | 
				
			||||||
 | 
					        ||(ObExtendType == types[i].get_type() && elem_type_.get_obj_type() != ObExtendType)) {
 | 
				
			||||||
 | 
					      ret = OB_ERR_CALL_WRONG_ARG;
 | 
				
			||||||
 | 
					      LOG_WARN("PLS-00306: wrong number or types of arguments in call", K(ret));
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
      types[i].set_calc_accuracy(elem_type_.get_accuracy());
 | 
					      types[i].set_calc_accuracy(elem_type_.get_accuracy());
 | 
				
			||||||
      types[i].set_calc_meta(elem_type_.get_meta_type());
 | 
					      types[i].set_calc_meta(elem_type_.get_meta_type());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
  OX (type.set_type(ObExtendType));
 | 
					  OX (type.set_type(ObExtendType));
 | 
				
			||||||
  OX (type.set_udt_id(udt_id_));
 | 
					  OX (type.set_udt_id(udt_id_));
 | 
				
			||||||
  return ret;
 | 
					  return ret;
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user