Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
424c3d39
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
未验证
提交
424c3d39
编写于
7月 13, 2023
作者:
D
dapan1121
提交者:
GitHub
7月 13, 2023
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #22048 from taosdata/feat/TD-25003
feat: add new syntax for show tags/index/table tags
上级
c388802b
90e5d165
变更
11
展开全部
显示空白变更内容
内联
并排
Showing
11 changed file
with
2448 addition
and
2559 deletion
+2448
-2559
docs/en/12-taos-sql/04-stable.md
docs/en/12-taos-sql/04-stable.md
+5
-0
docs/en/12-taos-sql/24-show.md
docs/en/12-taos-sql/24-show.md
+2
-0
docs/en/12-taos-sql/27-index.md
docs/en/12-taos-sql/27-index.md
+1
-0
docs/zh/12-taos-sql/04-stable.md
docs/zh/12-taos-sql/04-stable.md
+5
-0
docs/zh/12-taos-sql/24-show.md
docs/zh/12-taos-sql/24-show.md
+2
-0
docs/zh/12-taos-sql/27-index.md
docs/zh/12-taos-sql/27-index.md
+1
-0
include/common/ttokendef.h
include/common/ttokendef.h
+99
-101
source/libs/parser/inc/sql.y
source/libs/parser/inc/sql.y
+3
-0
source/libs/parser/src/sql.c
source/libs/parser/src/sql.c
+2145
-2458
tests/parallel_test/cases.task
tests/parallel_test/cases.task
+1
-0
tests/system-test/0-others/show_tag_index.py
tests/system-test/0-others/show_tag_index.py
+184
-0
未找到文件。
docs/en/12-taos-sql/04-stable.md
浏览文件 @
424c3d39
...
...
@@ -51,6 +51,11 @@ DESCRIBE [db_name.]stb_name;
### View tag information for all child tables in the supertable
```
SHOW TABLE TAGS FROM table_name [FROM db_name];
SHOW TABLE TAGS FROM [db_name.]table_name;
```
```
taos> SHOW TABLE TAGS FROM st1;
tbname | id | loc |
...
...
docs/en/12-taos-sql/24-show.md
浏览文件 @
424c3d39
...
...
@@ -101,6 +101,7 @@ Note: TDengine Enterprise Edition only.
```
sql
SHOW
INDEXES
FROM
tbl_name
[
FROM
db_name
];
SHOW
INDEXES
FROM
[
db_name
.]
tbl_name
;
```
Shows indices that have been created.
...
...
@@ -326,6 +327,7 @@ Note that only the information about the data blocks in the data file will be di
```
sql
SHOW
TAGS
FROM
child_table_name
[
FROM
db_name
];
SHOW
TAGS
FROM
[
db_name
.]
child_table_name
;
```
Shows all tag information in a subtable.
...
...
docs/en/12-taos-sql/27-index.md
浏览文件 @
424c3d39
...
...
@@ -43,6 +43,7 @@ DROP INDEX index_name;
````
sql
`
``
sql
SHOW INDEXES FROM tbl_name [FROM db_name];
SHOW INDEXES FROM [db_name.]tbl_name ;
````
Shows indices that have been created for the specified database or table.
docs/zh/12-taos-sql/04-stable.md
浏览文件 @
424c3d39
...
...
@@ -51,6 +51,11 @@ DESCRIBE [db_name.]stb_name;
### 获取超级表中所有子表的标签信息
```
SHOW TABLE TAGS FROM table_name [FROM db_name];
SHOW TABLE TAGS FROM [db_name.]table_name;
```
```
taos> SHOW TABLE TAGS FROM st1;
tbname | id | loc |
...
...
docs/zh/12-taos-sql/24-show.md
浏览文件 @
424c3d39
...
...
@@ -101,6 +101,7 @@ SHOW GRANTS;
```
sql
SHOW
INDEXES
FROM
tbl_name
[
FROM
db_name
];
SHOW
INDEXES
FROM
[
db_name
.]
tbl_name
;
```
显示已创建的索引。
...
...
@@ -269,6 +270,7 @@ Query OK, 24 row(s) in set (0.002444s)
```
sql
SHOW
TAGS
FROM
child_table_name
[
FROM
db_name
];
SHOW
TAGS
FROM
[
db_name
.]
child_table_name
;
```
显示子表的标签信息。
...
...
docs/zh/12-taos-sql/27-index.md
浏览文件 @
424c3d39
...
...
@@ -43,6 +43,7 @@ DROP INDEX index_name;
````
sql
`
``
sql
SHOW INDEXES FROM tbl_name [FROM db_name];
SHOW INDEXES FROM [db_name.]tbl_name;
````
显示在所指定的数据库或表上已创建的索引。
include/common/ttokendef.h
浏览文件 @
424c3d39
...
...
@@ -355,8 +355,6 @@
#define TK_WAL 337
#define TK_NK_SPACE 600
#define TK_NK_COMMENT 601
#define TK_NK_ILLEGAL 602
...
...
source/libs/parser/inc/sql.y
浏览文件 @
424c3d39
...
...
@@ -447,6 +447,7 @@ cmd ::= SHOW MNODES.
cmd ::= SHOW QNODES. { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QNODES_STMT); }
cmd ::= SHOW FUNCTIONS. { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_FUNCTIONS_STMT); }
cmd ::= SHOW INDEXES FROM table_name_cond(A) from_db_opt(B). { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, B, A, OP_TYPE_EQUAL); }
cmd ::= SHOW INDEXES FROM db_name(B) NK_DOT table_name(A). { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, createIdentifierValueNode(pCxt, &B), createIdentifierValueNode(pCxt, &A), OP_TYPE_EQUAL); }
cmd ::= SHOW STREAMS. { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_STREAMS_STMT); }
cmd ::= SHOW ACCOUNTS. { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); }
cmd ::= SHOW APPS. { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_APPS_STMT); }
...
...
@@ -471,7 +472,9 @@ cmd ::= SHOW TABLE DISTRIBUTED full_table_name(A).
cmd ::= SHOW CONSUMERS. { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONSUMERS_STMT); }
cmd ::= SHOW SUBSCRIPTIONS. { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SUBSCRIPTIONS_STMT); }
cmd ::= SHOW TAGS FROM table_name_cond(A) from_db_opt(B). { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, B, A, OP_TYPE_EQUAL); }
cmd ::= SHOW TAGS FROM db_name(B) NK_DOT table_name(A). { pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, createIdentifierValueNode(pCxt, &B), createIdentifierValueNode(pCxt, &A), OP_TYPE_EQUAL); }
cmd ::= SHOW TABLE TAGS tag_list_opt(C) FROM table_name_cond(A) from_db_opt(B). { pCxt->pRootNode = createShowTableTagsStmt(pCxt, A, B, C); }
cmd ::= SHOW TABLE TAGS tag_list_opt(C) FROM db_name(B) NK_DOT table_name(A). { pCxt->pRootNode = createShowTableTagsStmt(pCxt, createIdentifierValueNode(pCxt, &A), createIdentifierValueNode(pCxt, &B), C); }
cmd ::= SHOW VNODES NK_INTEGER(A). { pCxt->pRootNode = createShowVnodesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &A), NULL); }
cmd ::= SHOW VNODES NK_STRING(A). { pCxt->pRootNode = createShowVnodesStmt(pCxt, NULL, createValueNode(pCxt, TSDB_DATA_TYPE_VARCHAR, &A)); }
// show alive
...
...
source/libs/parser/src/sql.c
浏览文件 @
424c3d39
此差异已折叠。
点击以展开。
tests/parallel_test/cases.task
浏览文件 @
424c3d39
...
...
@@ -207,6 +207,7 @@
,,y,system-test,./pytest.sh python3 ./test.py -f 1-insert/precisionUS.py
,,y,system-test,./pytest.sh python3 ./test.py -f 1-insert/precisionNS.py
,,y,system-test,./pytest.sh python3 ./test.py -f 0-others/show.py
,,y,system-test,./pytest.sh python3 ./test.py -f 0-others/show_tag_index.py
,,y,system-test,./pytest.sh python3 ./test.py -f 0-others/information_schema.py
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/abs.py
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/abs.py -R
...
...
tests/system-test/0-others/show_tag_index.py
0 → 100644
浏览文件 @
424c3d39
###################################################################
# Copyright (c) 2016 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
re
from
util.log
import
*
from
util.cases
import
*
from
util.sql
import
*
from
util.common
import
*
from
util.sqlset
import
*
class
TDTestCase
:
def
init
(
self
,
conn
,
logSql
,
replicaVar
=
1
):
self
.
replicaVar
=
int
(
replicaVar
)
tdLog
.
debug
(
"start to execute %s"
%
__file__
)
tdSql
.
init
(
conn
.
cursor
())
def
check_tags
(
self
):
tdSql
.
checkRows
(
2
)
tdSql
.
checkCols
(
6
)
tdSql
.
checkData
(
0
,
0
,
'ctb1'
)
tdSql
.
checkData
(
0
,
1
,
'db'
)
tdSql
.
checkData
(
0
,
2
,
'stb'
)
tdSql
.
checkData
(
0
,
3
,
't0'
)
tdSql
.
checkData
(
0
,
4
,
'INT'
)
tdSql
.
checkData
(
0
,
5
,
1
)
tdSql
.
checkData
(
1
,
0
,
'ctb1'
)
tdSql
.
checkData
(
1
,
1
,
'db'
)
tdSql
.
checkData
(
1
,
2
,
'stb'
)
tdSql
.
checkData
(
1
,
3
,
't1'
)
tdSql
.
checkData
(
1
,
4
,
'INT'
)
tdSql
.
checkData
(
1
,
5
,
1
)
def
check_table_tags
(
self
,
is_super_table
):
if
is_super_table
==
False
:
tdSql
.
checkRows
(
1
)
tdSql
.
checkCols
(
3
)
tdSql
.
checkData
(
0
,
0
,
'ctb1'
)
tdSql
.
checkData
(
0
,
1
,
1
)
tdSql
.
checkData
(
0
,
2
,
1
)
else
:
tdSql
.
checkRows
(
2
)
tdSql
.
checkCols
(
3
)
tdSql
.
checkData
(
0
,
0
,
'ctb1'
)
tdSql
.
checkData
(
1
,
0
,
'ctb2'
)
tdSql
.
checkData
(
0
,
1
,
1
)
tdSql
.
checkData
(
1
,
1
,
2
)
tdSql
.
checkData
(
0
,
2
,
1
)
tdSql
.
checkData
(
1
,
2
,
2
)
def
check_indexes
(
self
):
tdSql
.
checkRows
(
1
)
tdSql
.
checkCols
(
7
)
tdSql
.
checkData
(
0
,
0
,
'idx1'
)
tdSql
.
checkData
(
0
,
1
,
'db'
)
tdSql
.
checkData
(
0
,
2
,
'stb'
)
tdSql
.
checkData
(
0
,
3
,
-
1
)
tdSql
.
checkData
(
0
,
5
,
't1'
)
tdSql
.
checkData
(
0
,
6
,
'tag_index'
)
def
run
(
self
):
tdSql
.
execute
(
f
'create database db'
)
tdSql
.
execute
(
f
'use db'
)
tdSql
.
execute
(
f
'create table stb (ts timestamp, c0 int) tags (t0 int, t1 int)'
)
tdSql
.
execute
(
f
'create table ctb1 using stb tags (1, 1)'
)
tdSql
.
execute
(
f
'create table ctb2 using stb tags (2, 2)'
)
tdSql
.
execute
(
f
'insert into ctb1 values (now, 1)'
)
tdSql
.
execute
(
f
'insert into ctb2 values (now, 2)'
)
# show tags
tdSql
.
query
(
f
'show tags from stb'
)
tdSql
.
checkRows
(
0
)
tdSql
.
query
(
f
'show tags from stb'
)
tdSql
.
checkRows
(
0
);
tdSql
.
query
(
f
'show tags from `stb`'
)
tdSql
.
checkRows
(
0
);
tdSql
.
query
(
f
'show tags from stb from db'
)
tdSql
.
checkRows
(
0
);
tdSql
.
query
(
f
'show tags from `stb` from `db`'
)
tdSql
.
checkRows
(
0
);
tdSql
.
query
(
f
'show tags from db.stb'
)
tdSql
.
checkRows
(
0
);
tdSql
.
query
(
f
'show tags from `db`.`stb`'
)
tdSql
.
checkRows
(
0
);
tdSql
.
query
(
f
'show tags from ctb1'
)
self
.
check_tags
();
tdSql
.
query
(
f
'show tags from `ctb1`'
)
self
.
check_tags
();
tdSql
.
query
(
f
'show tags from ctb1 from db'
)
self
.
check_tags
();
tdSql
.
query
(
f
'show tags from `ctb1` from `db`'
)
self
.
check_tags
();
tdSql
.
query
(
f
'show tags from db.ctb1'
)
self
.
check_tags
();
tdSql
.
query
(
f
'show tags from `db`.`ctb1`'
)
self
.
check_tags
();
tdSql
.
error
(
f
'show tags from db.stb from db'
)
tdSql
.
error
(
f
'show tags from `db`.`stb` from db'
)
tdSql
.
error
(
f
'show tags from db.ctb1 from db'
)
tdSql
.
error
(
f
'show tags from `db`.`ctb1` from db'
)
# show table tags
tdSql
.
query
(
f
'show table tags from stb'
)
self
.
check_table_tags
(
True
);
tdSql
.
query
(
f
'show table tags from `stb`'
)
self
.
check_table_tags
(
True
);
tdSql
.
query
(
f
'show table tags from stb from db'
)
self
.
check_table_tags
(
True
);
tdSql
.
query
(
f
'show table tags from `stb` from `db`'
)
self
.
check_table_tags
(
True
);
tdSql
.
query
(
f
'show table tags from db.stb'
)
self
.
check_table_tags
(
True
);
tdSql
.
query
(
f
'show table tags from `db`.`stb`'
)
self
.
check_table_tags
(
True
);
tdSql
.
query
(
f
'show table tags from ctb1'
)
self
.
check_table_tags
(
False
);
tdSql
.
query
(
f
'show table tags from `ctb1`'
)
self
.
check_table_tags
(
False
);
tdSql
.
query
(
f
'show table tags from ctb1 from db'
)
self
.
check_table_tags
(
False
);
tdSql
.
query
(
f
'show table tags from `ctb1` from `db`'
)
self
.
check_table_tags
(
False
);
tdSql
.
query
(
f
'show table tags from db.ctb1'
)
self
.
check_table_tags
(
False
);
tdSql
.
query
(
f
'show table tags from `db`.`ctb1`'
)
self
.
check_table_tags
(
False
);
tdSql
.
error
(
f
'show table tags from db.stb from db'
)
tdSql
.
error
(
f
'show table tags from `db`.`stb` from db'
)
tdSql
.
error
(
f
'show table tags from db.ctb1 from db'
)
tdSql
.
error
(
f
'show table tags from `db`.`ctb1` from db'
)
# show indexes
tdSql
.
execute
(
f
'create index idx1 on stb (t1)'
)
tdSql
.
query
(
f
'show indexes from stb'
)
self
.
check_indexes
();
tdSql
.
query
(
f
'show indexes from `stb`'
)
self
.
check_indexes
();
tdSql
.
query
(
f
'show indexes from stb from db'
)
self
.
check_indexes
();
tdSql
.
query
(
f
'show indexes from `stb` from `db`'
)
self
.
check_indexes
();
tdSql
.
query
(
f
'show indexes from db.stb'
)
self
.
check_indexes
();
tdSql
.
query
(
f
'show indexes from `db`.`stb`'
)
self
.
check_indexes
();
tdSql
.
query
(
f
'show indexes from ctb1'
)
tdSql
.
checkRows
(
0
)
tdSql
.
query
(
f
'show indexes from `ctb1`'
)
tdSql
.
checkRows
(
0
)
tdSql
.
query
(
f
'show indexes from ctb1 from db'
)
tdSql
.
checkRows
(
0
)
tdSql
.
query
(
f
'show indexes from `ctb1` from `db`'
)
tdSql
.
checkRows
(
0
)
tdSql
.
query
(
f
'show indexes from db.ctb1'
)
tdSql
.
checkRows
(
0
)
tdSql
.
query
(
f
'show indexes from `db`.`ctb1`'
)
tdSql
.
checkRows
(
0
)
tdSql
.
error
(
f
'show indexes from db.stb from db'
)
tdSql
.
error
(
f
'show indexes from `db`.`stb` from db'
)
tdSql
.
error
(
f
'show indexes from db.ctb1 from db'
)
tdSql
.
error
(
f
'show indexes from `db`.`ctb1` from db'
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录