Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
68e2be03
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
68e2be03
编写于
6月 15, 2021
作者:
Y
yihaoDeng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-3086]<feature> tag support timestamp
上级
78f30314
变更
3
展开全部
隐藏空白更改
内联
并排
Showing
3 changed file
with
1451 addition
and
1917 deletion
+1451
-1917
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+10
-1
src/inc/ttokendef.h
src/inc/ttokendef.h
+122
-128
src/query/src/sql.c
src/query/src/sql.c
+1319
-1788
未找到文件。
src/client/src/tscSQLParser.c
浏览文件 @
68e2be03
...
@@ -6791,7 +6791,7 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
...
@@ -6791,7 +6791,7 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
const
int32_t
STABLE_INDEX
=
1
;
const
int32_t
STABLE_INDEX
=
1
;
STableMetaInfo
*
pStableMetaInfo
=
tscGetMetaInfo
(
pQueryInfo
,
STABLE_INDEX
);
STableMetaInfo
*
pStableMetaInfo
=
tscGetMetaInfo
(
pQueryInfo
,
STABLE_INDEX
);
// super table name, create table by using dst
// super table name, create table by using dst
int32_t
numOfTables
=
(
int32_t
)
taosArrayGetSize
(
pCreateTable
->
childTableInfo
);
int32_t
numOfTables
=
(
int32_t
)
taosArrayGetSize
(
pCreateTable
->
childTableInfo
);
for
(
int32_t
j
=
0
;
j
<
numOfTables
;
++
j
)
{
for
(
int32_t
j
=
0
;
j
<
numOfTables
;
++
j
)
{
...
@@ -6820,6 +6820,7 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
...
@@ -6820,6 +6820,7 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
// too long tag values will return invalid sql, not be truncated automatically
// too long tag values will return invalid sql, not be truncated automatically
SSchema
*
pTagSchema
=
tscGetTableTagSchema
(
pStableMetaInfo
->
pTableMeta
);
SSchema
*
pTagSchema
=
tscGetTableTagSchema
(
pStableMetaInfo
->
pTableMeta
);
STableComInfo
tinfo
=
tscGetTableInfo
(
pStableMetaInfo
->
pTableMeta
);
STagData
*
pTag
=
&
pCreateTableInfo
->
tagdata
;
STagData
*
pTag
=
&
pCreateTableInfo
->
tagdata
;
SKVRowBuilder
kvRowBuilder
=
{
0
};
SKVRowBuilder
kvRowBuilder
=
{
0
};
...
@@ -6869,8 +6870,12 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
...
@@ -6869,8 +6870,12 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
return
invalidOperationMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg3
);
return
invalidOperationMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg3
);
}
}
}
else
if
(
pSchema
->
type
==
TSDB_DATA_TYPE_TIMESTAMP
)
{
pItem
->
pVar
.
i64
=
convertTimePrecision
(
pItem
->
pVar
.
i64
,
TSDB_TIME_PRECISION_NANO
,
tinfo
.
precision
);
}
}
ret
=
tVariantDump
(
&
(
pItem
->
pVar
),
tagVal
,
pSchema
->
type
,
true
);
ret
=
tVariantDump
(
&
(
pItem
->
pVar
),
tagVal
,
pSchema
->
type
,
true
);
// check again after the convert since it may be converted from binary to nchar.
// check again after the convert since it may be converted from binary to nchar.
...
@@ -6915,7 +6920,11 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
...
@@ -6915,7 +6920,11 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
return
invalidOperationMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg3
);
return
invalidOperationMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg3
);
}
}
}
else
if
(
pSchema
->
type
==
TSDB_DATA_TYPE_TIMESTAMP
)
{
pItem
->
pVar
.
i64
=
convertTimePrecision
(
pItem
->
pVar
.
i64
,
TSDB_TIME_PRECISION_NANO
,
tinfo
.
precision
);
}
}
ret
=
tVariantDump
(
&
(
pItem
->
pVar
),
tagVal
,
pSchema
->
type
,
true
);
ret
=
tVariantDump
(
&
(
pItem
->
pVar
),
tagVal
,
pSchema
->
type
,
true
);
...
...
src/inc/ttokendef.h
浏览文件 @
68e2be03
...
@@ -16,106 +16,105 @@
...
@@ -16,106 +16,105 @@
#ifndef TDENGINE_TTOKENDEF_H
#ifndef TDENGINE_TTOKENDEF_H
#define TDENGINE_TTOKENDEF_H
#define TDENGINE_TTOKENDEF_H
#define TK_ID 1
#define TK_ID 1
#define TK_BOOL 2
#define TK_BOOL 2
#define TK_TINYINT 3
#define TK_TINYINT 3
#define TK_SMALLINT 4
#define TK_SMALLINT 4
#define TK_INTEGER 5
#define TK_INTEGER 5
#define TK_BIGINT 6
#define TK_BIGINT 6
#define TK_FLOAT 7
#define TK_FLOAT 7
#define TK_DOUBLE 8
#define TK_DOUBLE 8
#define TK_STRING 9
#define TK_STRING 9
#define TK_TIMESTAMP 10
#define TK_TIMESTAMP 10
#define TK_BINARY 11
#define TK_BINARY 11
#define TK_NCHAR 12
#define TK_NCHAR 12
#define TK_OR 13
#define TK_OR 13
#define TK_AND 14
#define TK_AND 14
#define TK_NOT 15
#define TK_NOT 15
#define TK_EQ 16
#define TK_EQ 16
#define TK_NE 17
#define TK_NE 17
#define TK_ISNULL 18
#define TK_ISNULL 18
#define TK_NOTNULL 19
#define TK_NOTNULL 19
#define TK_IS 20
#define TK_IS 20
#define TK_LIKE 21
#define TK_LIKE 21
#define TK_GLOB 22
#define TK_GLOB 22
#define TK_BETWEEN 23
#define TK_BETWEEN 23
#define TK_IN 24
#define TK_IN 24
#define TK_GT 25
#define TK_GT 25
#define TK_GE 26
#define TK_GE 26
#define TK_LT 27
#define TK_LT 27
#define TK_LE 28
#define TK_LE 28
#define TK_BITAND 29
#define TK_BITAND 29
#define TK_BITOR 30
#define TK_BITOR 30
#define TK_LSHIFT 31
#define TK_LSHIFT 31
#define TK_RSHIFT 32
#define TK_RSHIFT 32
#define TK_PLUS 33
#define TK_PLUS 33
#define TK_MINUS 34
#define TK_MINUS 34
#define TK_DIVIDE 35
#define TK_DIVIDE 35
#define TK_TIMES 36
#define TK_TIMES 36
#define TK_STAR 37
#define TK_STAR 37
#define TK_SLASH 38
#define TK_SLASH 38
#define TK_REM 39
#define TK_REM 39
#define TK_CONCAT 40
#define TK_CONCAT 40
#define TK_UMINUS 41
#define TK_UMINUS 41
#define TK_UPLUS 42
#define TK_UPLUS 42
#define TK_BITNOT 43
#define TK_BITNOT 43
#define TK_SHOW 44
#define TK_SHOW 44
#define TK_DATABASES 45
#define TK_DATABASES 45
#define TK_TOPICS 46
#define TK_TOPICS 46
#define TK_MNODES 47
#define TK_MNODES 47
#define TK_DNODES 48
#define TK_DNODES 48
#define TK_ACCOUNTS 49
#define TK_ACCOUNTS 49
#define TK_USERS 50
#define TK_USERS 50
#define TK_MODULES 51
#define TK_MODULES 51
#define TK_QUERIES 52
#define TK_QUERIES 52
#define TK_CONNECTIONS 53
#define TK_CONNECTIONS 53
#define TK_STREAMS 54
#define TK_STREAMS 54
#define TK_VARIABLES 55
#define TK_VARIABLES 55
#define TK_SCORES 56
#define TK_SCORES 56
#define TK_GRANTS 57
#define TK_GRANTS 57
#define TK_VNODES 58
#define TK_VNODES 58
#define TK_IPTOKEN 59
#define TK_IPTOKEN 59
#define TK_DOT 60
#define TK_DOT 60
#define TK_CREATE 61
#define TK_CREATE 61
#define TK_TABLE 62
#define TK_TABLE 62
#define TK_STABLE 63
#define TK_STABLE 63
#define TK_DATABASE 64
#define TK_DATABASE 64
#define TK_TABLES 65
#define TK_TABLES 65
#define TK_STABLES 66
#define TK_STABLES 66
#define TK_VGROUPS 67
#define TK_VGROUPS 67
#define TK_DROP 68
#define TK_DROP 68
#define TK_TOPIC 69
#define TK_TOPIC 69
#define TK_DNODE 70
#define TK_DNODE 70
#define TK_USER 71
#define TK_USER 71
#define TK_ACCOUNT 72
#define TK_ACCOUNT 72
#define TK_USE 73
#define TK_USE 73
#define TK_DESCRIBE 74
#define TK_DESCRIBE 74
#define TK_ALTER 75
#define TK_ALTER 75
#define TK_PASS 76
#define TK_PASS 76
#define TK_PRIVILEGE 77
#define TK_PRIVILEGE 77
#define TK_LOCAL 78
#define TK_LOCAL 78
#define TK_IF 79
#define TK_IF 79
#define TK_EXISTS 80
#define TK_EXISTS 80
#define TK_PPS 81
#define TK_PPS 81
#define TK_TSERIES 82
#define TK_TSERIES 82
#define TK_DBS 83
#define TK_DBS 83
#define TK_STORAGE 84
#define TK_STORAGE 84
#define TK_QTIME 85
#define TK_QTIME 85
#define TK_CONNS 86
#define TK_CONNS 86
#define TK_STATE 87
#define TK_STATE 87
#define TK_COMMA 88
#define TK_COMMA 88
#define TK_KEEP 89
#define TK_KEEP 89
#define TK_CACHE 90
#define TK_CACHE 90
#define TK_REPLICA 91
#define TK_REPLICA 91
#define TK_QUORUM 92
#define TK_QUORUM 92
#define TK_DAYS 93
#define TK_DAYS 93
#define TK_MINROWS 94
#define TK_MINROWS 94
#define TK_MAXROWS 95
#define TK_MAXROWS 95
#define TK_BLOCKS 96
#define TK_BLOCKS 96
#define TK_CTIME 97
#define TK_CTIME 97
#define TK_WAL 98
#define TK_WAL 98
#define TK_FSYNC 99
#define TK_FSYNC 99
#define TK_COMP 100
#define TK_COMP 100
#define TK_PRECISION 101
#define TK_PRECISION 101
#define TK_UPDATE 102
#define TK_UPDATE 102
...
@@ -128,29 +127,29 @@
...
@@ -128,29 +127,29 @@
#define TK_USING 109
#define TK_USING 109
#define TK_AS 110
#define TK_AS 110
#define TK_NULL 111
#define TK_NULL 111
#define TK_
SELECT
112
#define TK_
NOW
112
#define TK_
UNION
113
#define TK_
SELECT
113
#define TK_
ALL
114
#define TK_
UNION
114
#define TK_
DISTINCT
115
#define TK_
ALL
115
#define TK_
FROM
116
#define TK_
DISTINCT
116
#define TK_
VARIABLE
117
#define TK_
FROM
117
#define TK_
INTERVAL
118
#define TK_
VARIABLE
118
#define TK_
SESSION
119
#define TK_
INTERVAL
119
#define TK_S
TATE_WINDOW
120
#define TK_S
ESSION
120
#define TK_
FILL
121
#define TK_
STATE_WINDOW
121
#define TK_
SLIDING
122
#define TK_
FILL
122
#define TK_
ORDER
123
#define TK_
SLIDING
123
#define TK_
BY
124
#define TK_
ORDER
124
#define TK_
ASC
125
#define TK_
BY
125
#define TK_
DESC
126
#define TK_
ASC
126
#define TK_
GROUP
127
#define TK_
DESC
127
#define TK_
HAVING
128
#define TK_
GROUP
128
#define TK_
LIMIT
129
#define TK_
HAVING
129
#define TK_
OFFSET
130
#define TK_
LIMIT
130
#define TK_
SLIMI
T 131
#define TK_
OFFSE
T 131
#define TK_S
OFFSET
132
#define TK_S
LIMIT
132
#define TK_
WHERE
133
#define TK_
SOFFSET
133
#define TK_
NOW
134
#define TK_
WHERE
134
#define TK_RESET 135
#define TK_RESET 135
#define TK_QUERY 136
#define TK_QUERY 136
#define TK_SYNCDB 137
#define TK_SYNCDB 137
...
@@ -207,11 +206,6 @@
...
@@ -207,11 +206,6 @@
#define TK_VALUES 188
#define TK_VALUES 188
#define TK_SPACE 300
#define TK_SPACE 300
#define TK_COMMENT 301
#define TK_COMMENT 301
#define TK_ILLEGAL 302
#define TK_ILLEGAL 302
...
...
src/query/src/sql.c
浏览文件 @
68e2be03
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录