Fix core at multiset subquery
This commit is contained in:
@ -835,7 +835,7 @@ int ObExprCast::fill_element(const sql::ObExpr &expr,
|
||||
} else {
|
||||
const ObDatum &d = *subquery_datum;
|
||||
ObObj v, v2;
|
||||
if (OB_FAIL(d.to_obj(v, expr.args_[0]->obj_meta_, expr.args_[0]->obj_datum_map_))) {
|
||||
if (OB_FAIL(d.to_obj(v, subquery_row[0]->obj_meta_, subquery_row[0]->obj_datum_map_))) {
|
||||
LOG_WARN("failed to get obj", K(ret), K(d));
|
||||
} else if (info->not_null_) {
|
||||
if (v.is_null()) {
|
||||
|
||||
@ -72,7 +72,7 @@ int ObExprSubQueryRef::ExtraInfo::init_cursor_info(ObIAllocator *allocator,
|
||||
LOG_WARN("fail to alloc memory", K(ret));
|
||||
} else {
|
||||
cursor_info = new(buf) ExtraInfo(*allocator, type);
|
||||
bool result_is_scalar = (expr.get_output_column() == 1 && !expr.is_set() && !expr.is_multiset());
|
||||
bool result_is_scalar = expr.is_scalar();
|
||||
if (result_is_scalar) {
|
||||
cursor_info->scalar_result_type_ = expr.get_result_type();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user