Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
cf759fba
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1187
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
cf759fba
编写于
9月 16, 2022
作者:
X
Xiaoyu Wang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: parsing conflicts
上级
49e2ac86
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
7 addition
and
5 deletion
+7
-5
source/libs/parser/inc/sql.y
source/libs/parser/inc/sql.y
+2
-2
source/libs/parser/src/sql.c
source/libs/parser/src/sql.c
+2
-2
source/libs/planner/test/planSetOpTest.cpp
source/libs/planner/test/planSetOpTest.cpp
+2
-0
tests/script/tsim/parser/union.sim
tests/script/tsim/parser/union.sim
+1
-1
未找到文件。
source/libs/parser/inc/sql.y
浏览文件 @
cf759fba
...
...
@@ -952,10 +952,10 @@ union_query_expression(A) ::=
query_simple_or_subquery(B) UNION query_simple_or_subquery(C). { A = createSetOperator(pCxt, SET_OP_TYPE_UNION, B, C); }
query_simple_or_subquery(A) ::= query_simple(B). { A = B; }
query_simple_or_subquery(A) ::= subquery(B). { A =
B
; }
query_simple_or_subquery(A) ::= subquery(B). { A =
releaseRawExprNode(pCxt, B)
; }
query_or_subquery(A) ::= query_expression(B). { A = B; }
query_or_subquery(A) ::= subquery(B). { A =
B
; }
query_or_subquery(A) ::= subquery(B). { A =
releaseRawExprNode(pCxt, B)
; }
%type order_by_clause_opt { SNodeList* }
%destructor order_by_clause_opt { nodesDestroyList($$); }
...
...
source/libs/parser/src/sql.c
浏览文件 @
cf759fba
...
...
@@ -4369,9 +4369,7 @@ static YYACTIONTYPE yy_reduce(
case
470
:
/* query_simple ::= query_specification */
yytestcase
(
yyruleno
==
470
);
case
471
:
/* query_simple ::= union_query_expression */
yytestcase
(
yyruleno
==
471
);
case
474
:
/* query_simple_or_subquery ::= query_simple */
yytestcase
(
yyruleno
==
474
);
case
475
:
/* query_simple_or_subquery ::= subquery */
yytestcase
(
yyruleno
==
475
);
case
476
:
/* query_or_subquery ::= query_expression */
yytestcase
(
yyruleno
==
476
);
case
477
:
/* query_or_subquery ::= subquery */
yytestcase
(
yyruleno
==
477
);
{
yylhsminor
.
yy776
=
yymsp
[
0
].
minor
.
yy776
;
}
yymsp
[
0
].
minor
.
yy776
=
yylhsminor
.
yy776
;
break
;
...
...
@@ -4432,6 +4430,8 @@ static YYACTIONTYPE yy_reduce(
case
315
:
/* signed_literal ::= literal_func */
yytestcase
(
yyruleno
==
315
);
case
381
:
/* star_func_para ::= expression */
yytestcase
(
yyruleno
==
381
);
case
436
:
/* select_item ::= common_expression */
yytestcase
(
yyruleno
==
436
);
case
475
:
/* query_simple_or_subquery ::= subquery */
yytestcase
(
yyruleno
==
475
);
case
477
:
/* query_or_subquery ::= subquery */
yytestcase
(
yyruleno
==
477
);
case
489
:
/* search_condition ::= common_expression */
yytestcase
(
yyruleno
==
489
);
{
yylhsminor
.
yy776
=
releaseRawExprNode
(
pCxt
,
yymsp
[
0
].
minor
.
yy776
);
}
yymsp
[
0
].
minor
.
yy776
=
yylhsminor
.
yy776
;
...
...
source/libs/planner/test/planSetOpTest.cpp
浏览文件 @
cf759fba
...
...
@@ -44,6 +44,8 @@ TEST_F(PlanSetOpTest, unionAllWithSubquery) {
run
(
"SELECT ts FROM (SELECT ts FROM st1s1) UNION ALL SELECT ts FROM (SELECT ts FROM st1s2)"
);
// super table
run
(
"SELECT ts FROM (SELECT ts FROM st1) UNION ALL SELECT ts FROM (SELECT ts FROM st1)"
);
run
(
"(SELECT SERVER_STATUS()) UNION ALL (SELECT SERVER_STATUS())"
);
}
TEST_F
(
PlanSetOpTest
,
unionAllWithOrderBy
)
{
...
...
tests/script/tsim/parser/union.sim
浏览文件 @
cf759fba
...
...
@@ -116,7 +116,7 @@ sql_error (select c1 from union_tb0 limit 1 union all select c1 from union_tb1 l
sql_error (select c1 from union_tb0 limit 1 union all select c1 from union_tb1 limit 1) limit 1
# sql with parenthese
sql (
((select c1 from union_tb0))
)
sql (
select c1 from union_tb0
)
if $rows != 10000 then
return -1
endi
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录