Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
b8a7cfd3
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
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看板
提交
b8a7cfd3
编写于
2月 01, 2023
作者:
S
shenglian zhou
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: only support join on table of same database
上级
1e7ab5c8
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
75 addition
and
0 deletion
+75
-0
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+12
-0
tests/develop-test/2-query/ts_2523.py
tests/develop-test/2-query/ts_2523.py
+62
-0
tests/parallel_test/cases.task
tests/parallel_test/cases.task
+1
-0
未找到文件。
src/client/src/tscSQLParser.c
浏览文件 @
b8a7cfd3
...
@@ -10495,6 +10495,7 @@ int32_t validateSqlNode(SSqlObj* pSql, SSqlNode* pSqlNode, SQueryInfo* pQueryInf
...
@@ -10495,6 +10495,7 @@ int32_t validateSqlNode(SSqlObj* pSql, SSqlNode* pSqlNode, SQueryInfo* pQueryInf
const char* msg8 = "condition missing for join query";
const char* msg8 = "condition missing for join query";
const char* msg9 = "not support 3 level select";
const char* msg9 = "not support 3 level select";
const char* msg10 = "limit user forbid query normal or child table, you can query from stable.";
const char* msg10 = "limit user forbid query normal or child table, you can query from stable.";
const char* msg11 = "only support join on tables of the same database";
int32_t code = TSDB_CODE_SUCCESS;
int32_t code = TSDB_CODE_SUCCESS;
SSqlCmd* pCmd = &pSql->cmd;
SSqlCmd* pCmd = &pSql->cmd;
...
@@ -10689,6 +10690,17 @@ int32_t validateSqlNode(SSqlObj* pSql, SSqlNode* pSqlNode, SQueryInfo* pQueryInf
...
@@ -10689,6 +10690,17 @@ int32_t validateSqlNode(SSqlObj* pSql, SSqlNode* pSqlNode, SQueryInfo* pQueryInf
int32_t joinQuery = (pSqlNode->from != NULL && taosArrayGetSize(pSqlNode->from->list) > 1);
int32_t joinQuery = (pSqlNode->from != NULL && taosArrayGetSize(pSqlNode->from->list) > 1);
if (joinQuery) {
// the code must be done after all table meta is loaded.
for (int32_t i = 0; i < (int32_t)numOfTables - 1; ++i) {
STableMetaInfo *tmi1 = pQueryInfo->pTableMetaInfo[i];
STableMetaInfo *tmi2 = pQueryInfo->pTableMetaInfo[i + 1];
if (tmi1 != NULL && tmi2 != NULL && strcmp(tmi1->name.dbname, tmi2->name.dbname) != 0) {
return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg11);
}
}
}
// parse the group by clause in the first place
// parse the group by clause in the first place
if (validateGroupbyNode(pQueryInfo, pSqlNode->pGroupby, pCmd) != TSDB_CODE_SUCCESS) {
if (validateGroupbyNode(pQueryInfo, pSqlNode->pGroupby, pCmd) != TSDB_CODE_SUCCESS) {
return TSDB_CODE_TSC_INVALID_OPERATION;
return TSDB_CODE_TSC_INVALID_OPERATION;
...
...
tests/develop-test/2-query/ts_2523.py
0 → 100644
浏览文件 @
b8a7cfd3
###################################################################
# Copyright (c) 2021 by TAOS Technologies, Inc.
# All rights reserved.
#
# This file is proprietary and confidential to TAOS Technologies.
# No part of this file may be reproduced, stored, transmitted,
# disclosed or used in any form or by any means other than as
# expressly provided by the written permission from Jianhui Tao
#
###################################################################
# -*- coding: utf-8 -*-
import
sys
from
util.log
import
*
from
util.cases
import
*
from
util.sql
import
*
class
TDTestCase
:
def
caseDescription
(
self
):
'''
case1<shenglian zhou>: [TS-2523]join not supported on tables of different databases
'''
return
def
init
(
self
,
conn
,
logSql
):
tdLog
.
debug
(
"start to execute %s"
%
__file__
)
tdSql
.
init
(
conn
.
cursor
(),
logSql
)
self
.
_conn
=
conn
def
run
(
self
):
print
(
"running {}"
.
format
(
__file__
))
tdSql
.
execute
(
"drop database if exists d1"
)
tdSql
.
execute
(
"create database if not exists d1"
)
tdSql
.
execute
(
'use d1'
)
tdSql
.
execute
(
'create stable st(ts timestamp , value int ) tags (ind int)'
)
tdSql
.
execute
(
'insert into tb1 using st tags(1) values(now ,1)'
)
tdSql
.
execute
(
'insert into tb1 using st tags(1) values(now+1s ,2)'
)
tdSql
.
execute
(
'insert into tb1 using st tags(1) values(now+2s ,3)'
)
tdSql
.
execute
(
"drop database if exists d2"
)
tdSql
.
execute
(
"create database if not exists d2"
)
tdSql
.
execute
(
'use d2'
)
tdSql
.
execute
(
'create stable st(ts timestamp , value int ) tags (ind int)'
)
tdSql
.
execute
(
'insert into tb1 using st tags(1) values(now ,1)'
)
tdSql
.
execute
(
'insert into tb1 using st tags(1) values(now+1s ,2)'
)
tdSql
.
execute
(
'insert into tb1 using st tags(1) values(now+2s ,3)'
)
tdSql
.
error
(
'select t1.value, t2.value from d1.st t1, d2.st t2 where t1.ts=t2.ts and t1.ind = t2.ind'
);
tdSql
.
execute
(
'drop database d1'
)
tdSql
.
execute
(
'drop database d2'
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
~
tests/parallel_test/cases.task
浏览文件 @
b8a7cfd3
...
@@ -642,6 +642,7 @@
...
@@ -642,6 +642,7 @@
6,,pytest,python3 test.py -f functions/function_elapsed.py
6,,pytest,python3 test.py -f functions/function_elapsed.py
6,,pytest,python3 test.py -f alter/alterColMultiTimes.py
6,,pytest,python3 test.py -f alter/alterColMultiTimes.py
6,,develop-test,python3 ./test.py -f 2-query/ts_2016.py
6,,develop-test,python3 ./test.py -f 2-query/ts_2016.py
6,,develop-test,python3 ./test.py -f 2-query/ts_2523.py
6,,develop-test,python3 ./test.py -f 2-query/escape.py
6,,develop-test,python3 ./test.py -f 2-query/escape.py
6,,develop-test,python3 ./test.py -f 2-query/TD-14763.py
6,,develop-test,python3 ./test.py -f 2-query/TD-14763.py
5,,system-test,python3 ./test.py -f 4-taosAdapter/taosAdapter_insert.py
5,,system-test,python3 ./test.py -f 4-taosAdapter/taosAdapter_insert.py
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录