Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
知世而放
oceanbase
提交
fc8e532b
O
oceanbase
项目概览
知世而放
/
oceanbase
与 Fork 源项目一致
Fork自
oceanbase / oceanbase
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
oceanbase
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fc8e532b
编写于
11月 29, 2021
作者:
X
xy0
提交者:
LINGuanRen
11月 29, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Merge DAY() system function into opensource branch.
上级
7b9fe433
变更
8
展开全部
隐藏空白更改
内联
并排
Showing
8 changed file
with
23709 addition
and
23597 deletion
+23709
-23597
deps/oblib/src/lib/ob_name_def.h
deps/oblib/src/lib/ob_name_def.h
+1
-0
src/sql/engine/expr/ob_expr_day_of_func.cpp
src/sql/engine/expr/ob_expr_day_of_func.cpp
+6
-0
src/sql/engine/expr/ob_expr_day_of_func.h
src/sql/engine/expr/ob_expr_day_of_func.h
+9
-0
src/sql/engine/expr/ob_expr_operator_factory.cpp
src/sql/engine/expr/ob_expr_operator_factory.cpp
+1
-0
src/sql/parser/ob_item_type.h
src/sql/parser/ob_item_type.h
+1
-0
src/sql/parser/sql_parser_mysql_mode.y
src/sql/parser/sql_parser_mysql_mode.y
+7
-0
src/sql/parser/sql_parser_mysql_mode_tab.c
src/sql/parser/sql_parser_mysql_mode_tab.c
+23683
-23597
src/sql/parser/type_name.c
src/sql/parser/type_name.c
+1
-0
未找到文件。
deps/oblib/src/lib/ob_name_def.h
浏览文件 @
fc8e532b
...
...
@@ -523,6 +523,7 @@
#define N_TO_TIMESTAMP_TZ "to_timestamp_tz"
#define N_TO_DAYS "to_days"
#define N_DAY_OF_MONTH "dayofmonth"
#define N_DAY "day"
#define N_DAY_OF_WEEK "dayofweek"
#define N_DAY_OF_YEAR "dayofyear"
#define N_HOUR "hour"
...
...
src/sql/engine/expr/ob_expr_day_of_func.cpp
浏览文件 @
fc8e532b
...
...
@@ -36,6 +36,12 @@ int ObExprDayOfMonth::calc_dayofmonth(const ObExpr& expr, ObEvalCtx& ctx, ObDatu
return
ObExprTimeBase
::
calc
(
expr
,
ctx
,
expr_datum
,
DT_MDAY
,
true
,
true
);
}
ObExprDay
::
ObExprDay
(
ObIAllocator
&
alloc
)
:
ObExprTimeBase
(
alloc
,
DT_MDAY
,
T_FUN_SYS_DAY
,
N_DAY
){};
ObExprDay
::~
ObExprDay
()
{}
ObExprDayOfWeek
::
ObExprDayOfWeek
(
ObIAllocator
&
alloc
)
:
ObExprTimeBase
(
alloc
,
DT_WDAY
,
T_FUN_SYS_DAY_OF_WEEK
,
N_DAY_OF_WEEK
){};
...
...
src/sql/engine/expr/ob_expr_day_of_func.h
浏览文件 @
fc8e532b
...
...
@@ -29,6 +29,15 @@ private:
DISALLOW_COPY_AND_ASSIGN
(
ObExprDayOfMonth
);
};
class
ObExprDay
:
public
ObExprTimeBase
{
public:
ObExprDay
();
explicit
ObExprDay
(
common
::
ObIAllocator
&
alloc
);
virtual
~
ObExprDay
();
private:
DISALLOW_COPY_AND_ASSIGN
(
ObExprDay
);
};
class
ObExprDayOfWeek
:
public
ObExprTimeBase
{
public:
ObExprDayOfWeek
();
...
...
src/sql/engine/expr/ob_expr_operator_factory.cpp
浏览文件 @
fc8e532b
...
...
@@ -685,6 +685,7 @@ void ObExprOperatorFactory::register_expr_operators()
REG_OP
(
ObExprDegrees
);
REG_OP
(
ObExprWeightString
);
REG_OP
(
ObExprBenchmark
);
REG_OP
(
ObExprDay
);
// register oracle system function
REG_OP_ORCL
(
ObExprSysConnectByPath
);
REG_OP_ORCL
(
ObExprTimestampNvl
);
...
...
src/sql/parser/ob_item_type.h
浏览文件 @
fc8e532b
...
...
@@ -440,6 +440,7 @@ typedef enum ObItemType {
T_FUN_SYS_INETATON
=
728
,
T_FUN_SYS_WEIGHT_STRING
=
729
,
T_FUN_SYS_CRC32
=
730
,
T_FUN_SYS_DAY
=
731
,
///< @note add new mysql only function type before this line
T_MYSQL_ONLY_SYS_MAX_OP
=
800
,
...
...
src/sql/parser/sql_parser_mysql_mode.y
浏览文件 @
fc8e532b
...
...
@@ -2200,6 +2200,13 @@ MOD '(' expr ',' expr ')'
make_name_node($$, result->malloc_pool_, "date");
malloc_non_terminal_node($$, result->malloc_pool_, T_FUN_SYS, 2, $$, params);
}
| DAY '(' expr ')'
{
ParseNode *params = NULL;
malloc_non_terminal_node(params, result->malloc_pool_, T_EXPR_LIST, 1, $3);
make_name_node($$, result->malloc_pool_, "day");
malloc_non_terminal_node($$, result->malloc_pool_, T_FUN_SYS, 2, $$, params);
}
| YEAR '(' expr ')'
{
ParseNode *params = NULL;
...
...
src/sql/parser/sql_parser_mysql_mode_tab.c
浏览文件 @
fc8e532b
此差异已折叠。
点击以展开。
src/sql/parser/type_name.c
浏览文件 @
fc8e532b
...
...
@@ -383,6 +383,7 @@ const char* get_type_name(int type)
case
T_FUN_SYS_INETATON
:
return
"T_FUN_SYS_INETATON"
;
case
T_FUN_SYS_WEIGHT_STRING
:
return
"T_FUN_SYS_WEIGHT_STRING"
;
case
T_FUN_SYS_CRC32
:
return
"T_FUN_SYS_CRC32"
;
case
T_FUN_SYS_DAY
:
return
"T_FUN_SYS_DAY"
;
case
T_MYSQL_ONLY_SYS_MAX_OP
:
return
"T_MYSQL_ONLY_SYS_MAX_OP"
;
case
T_FUN_SYS_CONNECT_BY_PATH
:
return
"T_FUN_SYS_CONNECT_BY_PATH"
;
case
T_FUN_SYS_SYSTIMESTAMP
:
return
"T_FUN_SYS_SYSTIMESTAMP"
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录