From 57a2a3233db701d12bca7e65a7a4f0f453e1c41f Mon Sep 17 00:00:00 2001 From: Ganlin Zhao Date: Tue, 8 Feb 2022 14:29:41 +0800 Subject: [PATCH] [TD-11220](query): time related functions --- src/client/src/tscSQLParser.c | 6 +++--- src/common/src/tarithoperator.c | 2 ++ src/inc/ttype.h | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c index 3f59c0872c..e80f78c963 100644 --- a/src/client/src/tscSQLParser.c +++ b/src/client/src/tscSQLParser.c @@ -4784,9 +4784,9 @@ static int32_t validateSQLExprItem(SSqlCmd* pCmd, tSqlExpr* pExpr, } //now allowing now +/- value in select expr - if (pExpr->tokenId == TK_TIMESTAMP) { - return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg3); - } + //if (pExpr->tokenId == TK_TIMESTAMP) { + // return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg3); + //} if (pExpr->type == SQL_NODE_VALUE) { *type = SQLEXPR_TYPE_VALUE; diff --git a/src/common/src/tarithoperator.c b/src/common/src/tarithoperator.c index d0183ba5b0..65f170ff68 100644 --- a/src/common/src/tarithoperator.c +++ b/src/common/src/tarithoperator.c @@ -176,6 +176,8 @@ _arithmetic_getVectorValueAddr_fn_t getVectorValueAddrFn(int32_t srcType) { p = getVectorValueAddr_FLOAT; }else if(srcType==TSDB_DATA_TYPE_DOUBLE) { p = getVectorValueAddr_DOUBLE; + }else if(srcType==TSDB_DATA_TYPE_TIMESTAMP) { + p = getVectorValueAddr_BIGINT; }else { assert(0); } diff --git a/src/inc/ttype.h b/src/inc/ttype.h index 5c632d161a..10f832ca05 100644 --- a/src/inc/ttype.h +++ b/src/inc/ttype.h @@ -207,7 +207,7 @@ typedef struct { #define IS_UNSIGNED_NUMERIC_TYPE(_t) ((_t) >= TSDB_DATA_TYPE_UTINYINT && (_t) <= TSDB_DATA_TYPE_UBIGINT) #define IS_FLOAT_TYPE(_t) ((_t) == TSDB_DATA_TYPE_FLOAT || (_t) == TSDB_DATA_TYPE_DOUBLE) -#define IS_NUMERIC_TYPE(_t) ((IS_SIGNED_NUMERIC_TYPE(_t)) || (IS_UNSIGNED_NUMERIC_TYPE(_t)) || (IS_FLOAT_TYPE(_t))) +#define IS_NUMERIC_TYPE(_t) ((IS_SIGNED_NUMERIC_TYPE(_t)) || (IS_UNSIGNED_NUMERIC_TYPE(_t)) || (IS_FLOAT_TYPE(_t)) || (_t) == TSDB_DATA_TYPE_TIMESTAMP) #define IS_VALID_TINYINT(_t) ((_t) > INT8_MIN && (_t) <= INT8_MAX) #define IS_VALID_SMALLINT(_t) ((_t) > INT16_MIN && (_t) <= INT16_MAX) -- GitLab