diff --git a/src/common/inc/texpr.h b/src/common/inc/texpr.h index 7756aa7b118ccc82c5cbd34cb5ed5b2746c2991b..fe7b1c1bd5f8c36ceba44393c41937cefff6a431 100644 --- a/src/common/inc/texpr.h +++ b/src/common/inc/texpr.h @@ -69,7 +69,8 @@ struct SSchema; #define TSDB_FUNC_SCALAR_TODAY (TSDB_FUNC_FLAG_SCALAR | 0x0013) #define TSDB_FUNC_SCALAR_TIMEZONE (TSDB_FUNC_FLAG_SCALAR | 0x0014) #define TSDB_FUNC_SCALAR_TO_ISO8601 (TSDB_FUNC_FLAG_SCALAR | 0x0015) -#define TSDB_FUNC_SCALAR_MAX_NUM 22 +#define TSDB_FUNC_SCALAR_TO_UNIXTIMESTAMP (TSDB_FUNC_FLAG_SCALAR | 0x0016) +#define TSDB_FUNC_SCALAR_MAX_NUM 23 #define TSDB_FUNC_SCALAR_NAME_MAX_LEN 16 diff --git a/src/common/src/texpr.c b/src/common/src/texpr.c index 188e734ca6fc53859f503f721ed1994286b8b10b..297841afed027fa196a45ef4c953577b54d65bf0 100644 --- a/src/common/src/texpr.c +++ b/src/common/src/texpr.c @@ -82,7 +82,8 @@ int32_t exprTreeValidateFunctionNode(char* msgbuf, tExprNode *pExpr) { case TSDB_FUNC_SCALAR_NOW: case TSDB_FUNC_SCALAR_TODAY: case TSDB_FUNC_SCALAR_TIMEZONE: - case TSDB_FUNC_SCALAR_TO_ISO8601: { + case TSDB_FUNC_SCALAR_TO_ISO8601: + case TSDB_FUNC_SCALAR_TO_UNIXTIMESTAMP: { return exprValidateTimeNode(msgbuf, pExpr); } @@ -1308,6 +1309,9 @@ int32_t exprValidateTimeNode(char *msgbuf, tExprNode *pExpr) { break; } + case TSDB_FUNC_SCALAR_TO_UNIXTIMESTAMP: { + break; + } default: { assert(false); break; @@ -1880,6 +1884,9 @@ void vectorTimeFunc(int16_t functionId, tExprOperandInfo *pInputs, int32_t numIn break; } + case TSDB_FUNC_SCALAR_TO_UNIXTIMESTAMP: { + break; + } default: { assert(false); break; @@ -2008,4 +2015,9 @@ tScalarFunctionInfo aScalarFunctions[] = { "to_iso8601", vectorTimeFunc }, + { + TSDB_FUNC_SCALAR_TO_UNIXTIMESTAMP, + "to_unixtimestamp", + vectorTimeFunc + }, };