fix: format udf example codes

This commit is contained in:
Shengliang Guan 2024-08-08 16:22:49 +08:00
parent 05be996342
commit 09f6411f66
3 changed files with 82 additions and 99 deletions

View File

@ -55,7 +55,7 @@ DLL_EXPORT int32_t bit_and(SUdfDataBlock* block, SUdfColumn* resultCol) {
} }
resultData->numOfRows = block->numOfRows; resultData->numOfRows = block->numOfRows;
udfTrace("block:%p, processing completed, rows:%d, cols:%d,", block, block->numOfRows, block->numOfCols); udfTrace("block:%p, processing completed", block);
return TSDB_CODE_SUCCESS; return TSDB_CODE_SUCCESS;
} }

View File

@ -1,17 +1,12 @@
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h> #include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "taosudf.h" #include "taosudf.h"
DLL_EXPORT int32_t l2norm_init() { DLL_EXPORT int32_t l2norm_init() { return 0; }
return 0;
}
DLL_EXPORT int32_t l2norm_destroy() { DLL_EXPORT int32_t l2norm_destroy() { return 0; }
return 0;
}
DLL_EXPORT int32_t l2norm_start(SUdfInterBuf* buf) { DLL_EXPORT int32_t l2norm_start(SUdfInterBuf* buf) {
*(int64_t*)(buf->buf) = 0; *(int64_t*)(buf->buf) = 0;
@ -25,8 +20,7 @@ DLL_EXPORT int32_t l2norm(SUdfDataBlock* block, SUdfInterBuf *interBuf, SUdfInte
int8_t numNotNull = 0; int8_t numNotNull = 0;
for (int32_t i = 0; i < block->numOfCols; ++i) { for (int32_t i = 0; i < block->numOfCols; ++i) {
SUdfColumn* col = block->udfCols[i]; SUdfColumn* col = block->udfCols[i];
if (!(col->colMeta.type == TSDB_DATA_TYPE_INT || if (!(col->colMeta.type == TSDB_DATA_TYPE_INT || col->colMeta.type == TSDB_DATA_TYPE_DOUBLE)) {
col->colMeta.type == TSDB_DATA_TYPE_DOUBLE)) {
return TSDB_CODE_UDF_INVALID_INPUT; return TSDB_CODE_UDF_INVALID_INPUT;
} }
} }

View File

@ -1,27 +1,19 @@
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h> #include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "taosudf.h" #include "taosudf.h"
#define STR_MAX_LEN 256 // inter buffer length #define STR_MAX_LEN 256 // inter buffer length
// init // init
DLL_EXPORT int32_t max_vol_init() DLL_EXPORT int32_t max_vol_init() { return 0; }
{
return 0;
}
// destory // destory
DLL_EXPORT int32_t max_vol_destroy() DLL_EXPORT int32_t max_vol_destroy() { return 0; }
{
return 0;
}
// start // start
DLL_EXPORT int32_t max_vol_start(SUdfInterBuf *buf) DLL_EXPORT int32_t max_vol_start(SUdfInterBuf *buf) {
{
memset(buf->buf, 0, sizeof(float) + STR_MAX_LEN); memset(buf->buf, 0, sizeof(float) + STR_MAX_LEN);
// set init value // set init value
*((float *)buf->buf) = -10000000; *((float *)buf->buf) = -10000000;
@ -34,14 +26,12 @@ DLL_EXPORT int32_t max_vol(SUdfDataBlock *block, SUdfInterBuf *interBuf, SUdfInt
float maxValue = *(float *)interBuf->buf; float maxValue = *(float *)interBuf->buf;
char strBuff[STR_MAX_LEN] = "inter1buf"; char strBuff[STR_MAX_LEN] = "inter1buf";
if (block->numOfCols < 2) if (block->numOfCols < 2) {
{
return TSDB_CODE_UDF_INVALID_INPUT; return TSDB_CODE_UDF_INVALID_INPUT;
} }
// check data type // check data type
for (int32_t i = 0; i < block->numOfCols; ++i) for (int32_t i = 0; i < block->numOfCols; ++i) {
{
SUdfColumn *col = block->udfCols[i]; SUdfColumn *col = block->udfCols[i];
if (i == block->numOfCols - 1) { if (i == block->numOfCols - 1) {
// last column is device id , must varchar // last column is device id , must varchar
@ -82,8 +72,7 @@ DLL_EXPORT int32_t max_vol(SUdfDataBlock *block, SUdfInterBuf *interBuf, SUdfInt
return 0; return 0;
} }
DLL_EXPORT int32_t max_vol_finish(SUdfInterBuf *buf, SUdfInterBuf *resultData) DLL_EXPORT int32_t max_vol_finish(SUdfInterBuf *buf, SUdfInterBuf *resultData) {
{
char *str = buf->buf + sizeof(float); char *str = buf->buf + sizeof(float);
// copy to des // copy to des
char *des = resultData->buf + sizeof(uint16_t); char *des = resultData->buf + sizeof(uint16_t);