fix merge join bug when use interesting ordering for merge key
This commit is contained in:
@ -3996,6 +3996,19 @@ int ObOptimizerUtil::decide_sort_keys_for_merge_style_op(const ObDMLStmt *stmt,
|
||||
}
|
||||
} else if (OB_FAIL(merge_key.assign(*interesting_key))) {
|
||||
LOG_WARN("failed to assign merge key", K(ret));
|
||||
/* interesting_key->need_sort_ is true generally.
|
||||
When ObOptimizerUtil::check_need_sort use ordering contain lossless cast, need_sort_ can be false
|
||||
and ObOptimizerUtil::check_need_sort is needed for other path use the interesting_key */
|
||||
} else if (OB_FAIL(ObOptimizerUtil::check_need_sort(merge_key.order_items_,
|
||||
input_ordering,
|
||||
fd_item_set,
|
||||
equal_sets,
|
||||
const_exprs,
|
||||
exec_ref_exprs,
|
||||
is_at_most_one_row,
|
||||
merge_key.need_sort_,
|
||||
merge_key.prefix_pos_))) {
|
||||
LOG_WARN("failed to check need sort", K(ret));
|
||||
} else { /*do nothing*/ }
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user