Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
d2c22548
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1193
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看板
提交
d2c22548
编写于
2月 08, 2022
作者:
G
Ganlin Zhao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-11220]<feature>(query): time related functions
上级
e489c016
变更
5
展开全部
隐藏空白更改
内联
并排
Showing
5 changed file
with
1419 addition
and
1597 deletion
+1419
-1597
src/inc/ttokendef.h
src/inc/ttokendef.h
+56
-56
src/query/inc/sql.y
src/query/inc/sql.y
+2
-1
src/query/src/qSqlParser.c
src/query/src/qSqlParser.c
+6
-2
src/query/src/sql.c
src/query/src/sql.c
+1354
-1538
src/util/src/ttokenizer.c
src/util/src/ttokenizer.c
+1
-0
未找到文件。
src/inc/ttokendef.h
浏览文件 @
d2c22548
...
...
@@ -161,62 +161,62 @@
#define TK_SLIMIT 143
#define TK_SOFFSET 144
#define TK_WHERE 145
#define TK_
RESET
146
#define TK_
QUERY
147
#define TK_
SYNCDB
148
#define TK_
ADD
149
#define TK_
COLUMN
150
#define TK_
MODIFY
151
#define TK_
TAG
152
#define TK_
CHANGE
153
#define TK_
SET
154
#define TK_
KILL
155
#define TK_
CONNECTION
156
#define TK_
STREAM
157
#define TK_
COLON
158
#define TK_
ABORT
159
#define TK_A
FTER
160
#define TK_A
TTACH
161
#define TK_
BEFORE
162
#define TK_BE
GIN
163
#define TK_
CASCADE
164
#define TK_C
LUSTER
165
#define TK_C
ONFLICT
166
#define TK_CO
PY
167
#define TK_
DEFERRED
168
#define TK_DE
LIMITERS
169
#define TK_DE
TACH
170
#define TK_
EACH
171
#define TK_E
ND
172
#define TK_E
XPLAIN
173
#define TK_
FAIL
174
#define TK_F
OR
175
#define TK_
IGNORE
176
#define TK_I
MMEDIATE
177
#define TK_I
NITIALLY
178
#define TK_IN
STEAD
179
#define TK_
KEY
180
#define TK_
OF
181
#define TK_
RAISE
182
#define TK_R
EPLACE
183
#define TK_RE
STRICT
184
#define TK_R
OW
185
#define TK_
STATEMENT
186
#define TK_
TRIGGER
187
#define TK_
VIEW
188
#define TK_
IPTOKEN
189
#define TK_
SEMI
190
#define TK_
NONE
191
#define TK_
PREV
192
#define TK_
LINEAR
193
#define TK_
IMPORT
194
#define TK_
TBNAME
195
#define TK_
JOIN
196
#define TK_
INSERT
197
#define TK_IN
TO
198
#define TK_
VALUES
199
#define TK_
FILE
200
#define TK_
TODAY
146
#define TK_
RESET
147
#define TK_
QUERY
148
#define TK_
SYNCDB
149
#define TK_
ADD
150
#define TK_
COLUMN
151
#define TK_
MODIFY
152
#define TK_
TAG
153
#define TK_
CHANGE
154
#define TK_
SET
155
#define TK_
KILL
156
#define TK_
CONNECTION
157
#define TK_
STREAM
158
#define TK_
COLON
159
#define TK_A
BORT
160
#define TK_A
FTER
161
#define TK_
ATTACH
162
#define TK_BE
FORE
163
#define TK_
BEGIN
164
#define TK_C
ASCADE
165
#define TK_C
LUSTER
166
#define TK_CO
NFLICT
167
#define TK_
COPY
168
#define TK_DE
FERRED
169
#define TK_DE
LIMITERS
170
#define TK_
DETACH
171
#define TK_E
ACH
172
#define TK_E
ND
173
#define TK_
EXPLAIN
174
#define TK_F
AIL
175
#define TK_
FOR
176
#define TK_I
GNORE
177
#define TK_I
MMEDIATE
178
#define TK_IN
ITIALLY
179
#define TK_
INSTEAD
180
#define TK_
KEY
181
#define TK_
OF
182
#define TK_R
AISE
183
#define TK_RE
PLACE
184
#define TK_R
ESTRICT
185
#define TK_
ROW
186
#define TK_
STATEMENT
187
#define TK_
TRIGGER
188
#define TK_
VIEW
189
#define TK_
IPTOKEN
190
#define TK_
SEMI
191
#define TK_
NONE
192
#define TK_
PREV
193
#define TK_
LINEAR
194
#define TK_
IMPORT
195
#define TK_
TBNAME
196
#define TK_
JOIN
197
#define TK_IN
SERT
198
#define TK_
INTO
199
#define TK_
VALUES
200
#define TK_FILE 201
#define TK_SPACE 300
#define TK_COMMENT 301
...
...
src/query/inc/sql.y
浏览文件 @
d2c22548
...
...
@@ -748,6 +748,7 @@ expr(A) ::= MINUS(X) FLOAT(Y). { X.n += Y.n; X.type = TK_FLOAT; A = tSqlExprCr
expr(A) ::= PLUS(X) FLOAT(Y). { X.n += Y.n; X.type = TK_FLOAT; A = tSqlExprCreateIdValue(pInfo, &X, TK_FLOAT);}
expr(A) ::= STRING(X). { A = tSqlExprCreateIdValue(pInfo, &X, TK_STRING);}
expr(A) ::= NOW(X). { A = tSqlExprCreateIdValue(pInfo, &X, TK_NOW); }
expr(A) ::= TODAY(X). { A = tSqlExprCreateIdValue(pInfo, &X, TK_TODAY); }
expr(A) ::= VARIABLE(X). { A = tSqlExprCreateIdValue(pInfo, &X, TK_VARIABLE);}
expr(A) ::= PLUS(X) VARIABLE(Y). { X.n += Y.n; X.type = TK_VARIABLE; A = tSqlExprCreateIdValue(pInfo, &X, TK_VARIABLE);}
expr(A) ::= MINUS(X) VARIABLE(Y). { X.n += Y.n; X.type = TK_VARIABLE; A = tSqlExprCreateIdValue(pInfo, &X, TK_VARIABLE);}
...
...
@@ -972,4 +973,4 @@ cmd ::= KILL QUERY INTEGER(X) COLON(Z) INTEGER(Y). {X.n += (Z.n + Y.n); s
%fallback ID ABORT AFTER ASC ATTACH BEFORE BEGIN CASCADE CLUSTER CONFLICT COPY DATABASE DEFERRED
DELIMITERS DESC DETACH EACH END EXPLAIN FAIL FOR GLOB IGNORE IMMEDIATE INITIALLY INSTEAD
LIKE MATCH NMATCH KEY OF OFFSET RAISE REPLACE RESTRICT ROW STATEMENT TRIGGER VIEW ALL
NOW IPTOKEN SEMI NONE PREV LINEAR IMPORT TBNAME JOIN STABLE NULL INSERT INTO VALUES FILE.
NOW
TODAY
IPTOKEN SEMI NONE PREV LINEAR IMPORT TBNAME JOIN STABLE NULL INSERT INTO VALUES FILE.
src/query/src/qSqlParser.c
浏览文件 @
d2c22548
...
...
@@ -161,9 +161,13 @@ tSqlExpr *tSqlExprCreateIdValue(SSqlInfo* pInfo, SStrToken *pToken, int32_t optr
}
pSqlExpr
->
tokenId
=
optrType
;
pSqlExpr
->
type
=
SQL_NODE_VALUE
;
}
else
if
(
optrType
==
TK_NOW
)
{
}
else
if
(
optrType
==
TK_NOW
||
optrType
==
TK_TODAY
)
{
// use nanosecond by default TODO set value after getting database precision
pSqlExpr
->
value
.
i64
=
taosGetTimestamp
(
TSDB_TIME_PRECISION_NANO
);
if
(
optrType
==
TK_NOW
)
{
pSqlExpr
->
value
.
i64
=
taosGetTimestamp
(
TSDB_TIME_PRECISION_NANO
);
}
else
{
pSqlExpr
->
value
.
i64
=
taosGetTimestampToday
()
*
1000000000
;
}
pSqlExpr
->
value
.
nType
=
TSDB_DATA_TYPE_BIGINT
;
pSqlExpr
->
tokenId
=
TK_TIMESTAMP
;
// TK_TIMESTAMP used to denote the time value is in microsecond
pSqlExpr
->
type
=
SQL_NODE_VALUE
;
...
...
src/query/src/sql.c
浏览文件 @
d2c22548
此差异已折叠。
点击以展开。
src/util/src/ttokenizer.c
浏览文件 @
d2c22548
...
...
@@ -159,6 +159,7 @@ static SKeyword keywordTable[] = {
{
"SOFFSET"
,
TK_SOFFSET
},
{
"WHERE"
,
TK_WHERE
},
{
"NOW"
,
TK_NOW
},
{
"TODAY"
,
TK_TODAY
},
{
"INSERT"
,
TK_INSERT
},
{
"INTO"
,
TK_INTO
},
{
"VALUES"
,
TK_VALUES
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录