[CP] fix oracle distinct to_char column order by column resolver bug.
This commit is contained in:
@ -943,7 +943,18 @@ int ObSelectResolver::check_order_by()
|
||||
for (int64_t i = 0; OB_SUCC(ret) && i < select_items.count(); ++i) {
|
||||
ObRawExpr *expr = select_items.at(i).expr_;
|
||||
if (OB_FAIL(select_item_exprs.push_back(expr))) {
|
||||
LOG_WARN("fail to push back expr", K(ret));
|
||||
LOG_WARN("fail to push back expr", K(ret));
|
||||
// Support non-standard semantics in oracle
|
||||
//
|
||||
} else if (T_FUN_SYS_TO_CHAR == expr->get_expr_type() && expr->get_param_count() == 1) {
|
||||
if (OB_ISNULL(expr->get_param_expr(0))) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("to_char has no child expr", K(ret));
|
||||
} else if (expr->get_param_expr(0)->get_result_type().is_number()) {
|
||||
if (OB_FAIL(select_item_exprs.push_back(expr->get_param_expr(0)))) {
|
||||
LOG_WARN("fail to push back expr", K(ret));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (OB_SUCC(ret)) {
|
||||
|
||||
Reference in New Issue
Block a user