support last_day in mysql mode

This commit is contained in:
jg0
2021-07-27 21:39:15 +08:00
committed by wangzelin.wzl
parent 09edba0ff6
commit 74d0236609
45 changed files with 26893 additions and 25079 deletions

View File

@ -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))) {