提交 0e24514d 编写于 作者: G Ganlin Zhao

[TD-11220]<feature>(query): time related functions

上级 7f270867
......@@ -71,7 +71,8 @@ struct SSchema;
#define TSDB_FUNC_SCALAR_TO_ISO8601 (TSDB_FUNC_FLAG_SCALAR | 0x0015)
#define TSDB_FUNC_SCALAR_TO_UNIXTIMESTAMP (TSDB_FUNC_FLAG_SCALAR | 0x0016)
#define TSDB_FUNC_SCALAR_TIMETRUNCATE (TSDB_FUNC_FLAG_SCALAR | 0x0017)
#define TSDB_FUNC_SCALAR_MAX_NUM 24
#define TSDB_FUNC_SCALAR_TIMEDIFF (TSDB_FUNC_FLAG_SCALAR | 0x0018)
#define TSDB_FUNC_SCALAR_MAX_NUM 25
#define TSDB_FUNC_SCALAR_NAME_MAX_LEN 16
......
......@@ -84,7 +84,8 @@ int32_t exprTreeValidateFunctionNode(char* msgbuf, tExprNode *pExpr) {
case TSDB_FUNC_SCALAR_TIMEZONE:
case TSDB_FUNC_SCALAR_TO_ISO8601:
case TSDB_FUNC_SCALAR_TO_UNIXTIMESTAMP:
case TSDB_FUNC_SCALAR_TIMETRUNCATE: {
case TSDB_FUNC_SCALAR_TIMETRUNCATE:
case TSDB_FUNC_SCALAR_TIMEDIFF: {
return exprValidateTimeNode(msgbuf, pExpr);
}
......@@ -1424,6 +1425,9 @@ int32_t exprValidateTimeNode(char *msgbuf, tExprNode *pExpr) {
pExpr->resultBytes = (int16_t)tDataTypes[TSDB_DATA_TYPE_TIMESTAMP].bytes;
break;
}
case TSDB_FUNC_SCALAR_TIMEDIFF: {
break;
}
default: {
assert(false);
break;
......@@ -2124,6 +2128,9 @@ void vectorTimeFunc(int16_t functionId, tExprOperandInfo *pInputs, int32_t numIn
break;
}
case TSDB_FUNC_SCALAR_TIMEDIFF: {
break;
}
default: {
assert(false);
break;
......@@ -2262,4 +2269,9 @@ tScalarFunctionInfo aScalarFunctions[] = {
"timetruncate",
vectorTimeFunc
},
{
TSDB_FUNC_SCALAR_TIMEDIFF,
"timediff",
vectorTimeFunc
},
};
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册