Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
clmforever
oceanbase
提交
85c2f0ab
O
oceanbase
项目概览
clmforever
/
oceanbase
与 Fork 源项目一致
Fork自
oceanbase / oceanbase
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
oceanbase
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
85c2f0ab
编写于
9月 16, 2021
作者:
D
ds0
提交者:
wangzelin.wzl
9月 16, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
: ob-mysql support 'sql_no_cache' and 'SUBPARTITION xxx ENGINE=InnoDB' now .
上级
04204295
变更
5
展开全部
隐藏空白更改
内联
并排
Showing
5 changed file
with
22680 addition
and
22596 deletion
+22680
-22596
src/sql/parser/sql_parser_mysql_mode.y
src/sql/parser/sql_parser_mysql_mode.y
+36
-7
src/sql/parser/sql_parser_mysql_mode_lex.c
src/sql/parser/sql_parser_mysql_mode_lex.c
+813
-813
src/sql/parser/sql_parser_mysql_mode_tab.c
src/sql/parser/sql_parser_mysql_mode_tab.c
+21017
-20963
src/sql/parser/sql_parser_mysql_mode_tab.h
src/sql/parser/sql_parser_mysql_mode_tab.h
+813
-813
src/sql/parser/type_name.c
src/sql/parser/type_name.c
+1
-0
未找到文件。
src/sql/parser/sql_parser_mysql_mode.y
浏览文件 @
85c2f0ab
...
...
@@ -111,6 +111,7 @@
%nonassoc LOWER_PARENS
//%nonassoc STRING_VALUE
%left '(' ')'
%nonassoc SQL_CACHE SQL_NO_CACHE /*for shift/reduce conflict between opt_query_expresion_option_list and SQL_CACHE*/
%nonassoc HIGHER_PARENS TRANSACTION /*for simple_expr conflict*/
%left '.'
%right NOT NOT2
...
...
@@ -315,7 +316,7 @@ END_P SET_VAR DELIMITER
%type <node> opt_resource_unit_option_list resource_unit_option
%type <node> tenant_option zone_list resource_pool_list
%type <node> opt_partition_option partition_option hash_partition_option key_partition_option opt_use_partition use_partition range_partition_option subpartition_option opt_range_partition_list opt_range_subpartition_list range_partition_list range_subpartition_list range_partition_element range_subpartition_element range_partition_expr range_expr_list range_expr opt_part_id sample_clause opt_block seed sample_percent opt_sample_scope modify_partition_info modify_tg_partition_info opt_partition_range_or_list column_partition_option opt_column_partition_option auto_partition_option auto_range_type partition_size auto_partition_type
%type <node> subpartition_template_option subpartition_individual_option opt_hash_partition_list hash_partition_list hash_partition_element opt_hash_subpartition_list hash_subpartition_list hash_subpartition_element opt_subpartition_list
%type <node> subpartition_template_option subpartition_individual_option opt_hash_partition_list hash_partition_list hash_partition_element opt_hash_subpartition_list hash_subpartition_list hash_subpartition_element opt_subpartition_list
opt_engine_option
%type <node> date_unit date_params timestamp_params
%type <node> drop_table_stmt table_list drop_view_stmt table_or_tables
%type <node> explain_stmt explainable_stmt format_name kill_stmt create_outline_stmt alter_outline_stmt drop_outline_stmt opt_outline_target
...
...
@@ -5598,12 +5599,21 @@ hash_subpartition_element
}
hash_subpartition_element:
SUBPARTITION relation_factor
SUBPARTITION relation_factor
opt_engine_option
{
UNUSED($3);
malloc_non_terminal_node($$, result->malloc_pool_, T_PARTITION_ELEMENT, 5, $2, NULL, NULL, NULL, NULL);
}
;
opt_engine_option:
ENGINE_ COMP_EQ INNODB
{
// fix the error report by xabank.xyhf_mysql
$$ = NULL;
}
| /* empty */{$$=NULL;};
opt_range_subpartition_list:
'(' range_subpartition_list ')'
{
...
...
@@ -7857,11 +7867,15 @@ opt_having:
;
opt_query_expression_option_list:
query_expression_option_list
query_expression_option_list
%prec LOWER_PARENS
{
merge_nodes($$, result, T_QEURY_EXPRESSION_LIST, $1);
if ($1 == NULL) {
$$ = NULL;
} else {
merge_nodes($$, result, T_QEURY_EXPRESSION_LIST, $1);
}
}
|
|
%prec LOWER_PARENS
{
$$ = NULL;
}
...
...
@@ -7872,9 +7886,13 @@ query_expression_option
{
$$ = $1;
}
| query_expression_option query_expression_option
| query_expression_option
_list
query_expression_option
{
malloc_non_terminal_node($$, result->malloc_pool_, T_LINK_NODE, 2, $1, $2);
if ($1 == NULL) {
$$ = $2;
} else {
malloc_non_terminal_node($$, result->malloc_pool_, T_LINK_NODE, 2, $1, $2);
}
}
;
...
...
@@ -7894,8 +7912,19 @@ ALL
| SQL_CALC_FOUND_ROWS
{
malloc_terminal_node($$, result->malloc_pool_, T_FOUND_ROWS);
}
| SQL_NO_CACHE
{
// SQL_NO_CACHE/SQL_CACHE is deprecated and will be removed in a future release
// we only support it in parser, but actually do nothing.
$$=NULL;
}
| SQL_CACHE
{
$$=NULL;
}
;
projection:
expr %prec LOWER_PARENS
{
...
...
src/sql/parser/sql_parser_mysql_mode_lex.c
浏览文件 @
85c2f0ab
此差异已折叠。
点击以展开。
src/sql/parser/sql_parser_mysql_mode_tab.c
浏览文件 @
85c2f0ab
此差异已折叠。
点击以展开。
src/sql/parser/sql_parser_mysql_mode_tab.h
浏览文件 @
85c2f0ab
此差异已折叠。
点击以展开。
src/sql/parser/type_name.c
浏览文件 @
85c2f0ab
...
...
@@ -379,6 +379,7 @@ const char* get_type_name(int type)
case
T_FUN_SYS_IS_IPV4_MAPPED
:
return
"T_FUN_SYS_IS_IPV4_MAPPED"
;
case
T_FUN_SYS_IS_IPV4_COMPAT
:
return
"T_FUN_SYS_IS_IPV4_COMPAT"
;
case
T_FUN_SYS_INETATON
:
return
"T_FUN_SYS_INETATON"
;
case
T_FUN_SYS_CRC32
:
return
"T_FUN_SYS_CRC32"
;
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录