From 3c5746813809b87937f3b70ba7729ef08b965feb Mon Sep 17 00:00:00 2001 From: Ganlin Zhao Date: Mon, 13 Dec 2021 14:01:58 +0800 Subject: [PATCH] [TD-11970]: support timestamp arithmetic operation on timestamp tags --- src/query/inc/sql.y | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/query/inc/sql.y b/src/query/inc/sql.y index 64e3f16b41..cc421b92af 100644 --- a/src/query/inc/sql.y +++ b/src/query/inc/sql.y @@ -445,7 +445,17 @@ tagitem(A) ::= FLOAT(X). { toTSDBType(X.type); tVariantCreate(&A, &X); } tagitem(A) ::= STRING(X). { toTSDBType(X.type); tVariantCreate(&A, &X); } tagitem(A) ::= BOOL(X). { toTSDBType(X.type); tVariantCreate(&A, &X); } tagitem(A) ::= NULL(X). { X.type = 0; tVariantCreate(&A, &X); } -tagitem(A) ::= NOW(X). { X.type = TSDB_DATA_TYPE_TIMESTAMP; tVariantCreate(&A, &X);} +tagitem(A) ::= NOW(X). { X.type = TSDB_DATA_TYPE_TIMESTAMP; tVariantCreateExt(&A, &X, TK_NOW);} + +tagitem(A) ::= NOW PLUS VARIABLE(X).{ + X.type = TSDB_DATA_TYPE_TIMESTAMP; + tVariantCreateExt(&A, &X, TK_PLUS); +} + +tagitem(A) ::= NOW MINUS VARIABLE(X).{ + X.type = TSDB_DATA_TYPE_TIMESTAMP; + tVariantCreateExt(&A, &X, TK_MINUS); +} tagitem(A) ::= MINUS(X) INTEGER(Y).{ X.n += Y.n; -- GitLab