support last_day in mysql mode
This commit is contained in:
@ -620,7 +620,7 @@ int ObRawExprResolverImpl::do_recursive_resolve(const ParseNode* node, ObRawExpr
|
||||
}
|
||||
|
||||
case T_FUN_SYS_UTC_TIMESTAMP: {
|
||||
ObString err_info("now");
|
||||
ObString err_info("utc_timestamp");
|
||||
if (OB_FAIL(process_timestamp_node(node, err_info, expr))) {
|
||||
LOG_WARN("fail to process timestamp node", K(ret), K(node));
|
||||
} else {
|
||||
@ -628,6 +628,15 @@ int ObRawExprResolverImpl::do_recursive_resolve(const ParseNode* node, ObRawExpr
|
||||
}
|
||||
break;
|
||||
}
|
||||
case T_FUN_SYS_UTC_TIME: {
|
||||
ObString err_info("utc_time");
|
||||
if (OB_FAIL(process_timestamp_node(node, err_info, expr))) {
|
||||
LOG_WARN("fail to process timestamp node", K(ret), K(node));
|
||||
} else {
|
||||
static_cast<ObSysFunRawExpr*>(expr)->set_func_name(ObString::make_string(N_UTC_TIME));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case T_FUN_SYS_CUR_TIMESTAMP: {
|
||||
if (share::is_oracle_mode()) {
|
||||
if (OB_FAIL(process_oracle_timestamp_node(node,
|
||||
@ -704,6 +713,16 @@ int ObRawExprResolverImpl::do_recursive_resolve(const ParseNode* node, ObRawExpr
|
||||
}
|
||||
break;
|
||||
}
|
||||
case T_FUN_SYS_UTC_DATE: {
|
||||
ObSysFunRawExpr* f_expr = NULL;
|
||||
if (OB_FAIL(ctx_.expr_factory_.create_raw_expr(T_FUN_SYS_UTC_DATE, f_expr))) {
|
||||
LOG_WARN("fail to create raw expr", K(ret));
|
||||
} else {
|
||||
f_expr->set_func_name(ObString::make_string(N_UTC_DATE));
|
||||
expr = f_expr;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case T_COLLATION: {
|
||||
// used in internal function `set_collation' to implement COLLATE clause
|
||||
if (OB_FAIL(process_collation_node(node, expr))) {
|
||||
|
Reference in New Issue
Block a user