Fix some prepared statement bug
This commit is contained in:
		@ -851,7 +851,9 @@ void ObReferenceObjTable::reset()
 | 
			
		||||
    }
 | 
			
		||||
    return ret;
 | 
			
		||||
  };
 | 
			
		||||
  if (OB_FAIL(ref_obj_version_table_.foreach_refactored(free_func))) {
 | 
			
		||||
  if (!ref_obj_version_table_.created()) {
 | 
			
		||||
    // do nothing
 | 
			
		||||
  } else if (OB_FAIL(ref_obj_version_table_.foreach_refactored(free_func))) {
 | 
			
		||||
    OB_LOG(WARN, "traversal ref obj version map failed", K(ret));
 | 
			
		||||
  }
 | 
			
		||||
  inited_ = false;
 | 
			
		||||
 | 
			
		||||
@ -1027,6 +1027,8 @@ int ObSql::do_real_prepare(const ObString &sql,
 | 
			
		||||
      LOG_WARN("generate stmt failed", K(ret));
 | 
			
		||||
    } else if (!is_from_pl
 | 
			
		||||
              && !is_inner_sql
 | 
			
		||||
              && !(ObStmt::is_dml_write_stmt(stmt_type) && // returning into from oci not supported
 | 
			
		||||
                   static_cast<ObDelUpdStmt*>(basic_stmt)->get_returning_into_exprs().count() > 0)
 | 
			
		||||
              && enable_udr
 | 
			
		||||
              && OB_FAIL(ObUDRUtils::match_udr_item(sql, session, allocator, item_guard))) {
 | 
			
		||||
      if (!ObSQLUtils::check_need_disconnect_parser_err(ret)) {
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user