Merge pull request #16756 from taosdata/fix/rmRetiredUdfFiles
fix: remove 2.x udf demo files
This commit is contained in:
commit
2c83fee450
|
@ -1,88 +0,0 @@
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
typedef struct SUdfInit{
|
|
||||||
int maybe_null; /* 1 if function can return NULL */
|
|
||||||
int decimals; /* for real functions */
|
|
||||||
long long length; /* For string functions */
|
|
||||||
char *ptr; /* free pointer for function data */
|
|
||||||
int const_item; /* 0 if result is independent of arguments */
|
|
||||||
} SUdfInit;
|
|
||||||
|
|
||||||
|
|
||||||
#define TSDB_DATA_INT_NULL 0x80000000LL
|
|
||||||
#define TSDB_DATA_BIGINT_NULL 0x8000000000000000LL
|
|
||||||
|
|
||||||
void abs_max(char* data, short itype, short ibytes, int numOfRows, long long* ts, char* dataOutput, char* interBuf, char* tsOutput,
|
|
||||||
int* numOfOutput, short otype, short obytes, SUdfInit* buf) {
|
|
||||||
int i;
|
|
||||||
int r = 0;
|
|
||||||
printf("abs_max input data:%p, type:%d, rows:%d, ts:%p,%lld, dataoutput:%p, tsOutput:%p, numOfOutput:%p, buf:%p\n", data, itype, numOfRows, ts, *ts, dataOutput, tsOutput, numOfOutput, buf);
|
|
||||||
if (itype == 5) {
|
|
||||||
r=*(long *)dataOutput;
|
|
||||||
*numOfOutput=0;
|
|
||||||
|
|
||||||
for(i=0;i<numOfRows;++i) {
|
|
||||||
if (*((long *)data + i) == TSDB_DATA_BIGINT_NULL) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
*numOfOutput=1;
|
|
||||||
long v = abs(*((long *)data + i));
|
|
||||||
if (v > r) {
|
|
||||||
r = v;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
*(long *)dataOutput=r;
|
|
||||||
|
|
||||||
printf("abs_max out, dataoutput:%ld, numOfOutput:%d\n", *(long *)dataOutput, *numOfOutput);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void abs_max_finalize(char* dataOutput, char* interBuf, int* numOfOutput, SUdfInit* buf) {
|
|
||||||
int i;
|
|
||||||
int r = 0;
|
|
||||||
printf("abs_max_finalize dataoutput:%p:%d, numOfOutput:%d, buf:%p\n", dataOutput, *dataOutput, *numOfOutput, buf);
|
|
||||||
*numOfOutput=1;
|
|
||||||
printf("abs_max finalize, dataoutput:%ld, numOfOutput:%d\n", *(long *)dataOutput, *numOfOutput);
|
|
||||||
}
|
|
||||||
|
|
||||||
void abs_max_merge(char* data, int32_t numOfRows, char* dataOutput, int32_t* numOfOutput, SUdfInit* buf) {
|
|
||||||
int r = 0;
|
|
||||||
|
|
||||||
if (numOfRows > 0) {
|
|
||||||
r = *((long *)data);
|
|
||||||
}
|
|
||||||
printf("abs_max_merge numOfRows:%d, dataoutput:%p, buf:%p\n", numOfRows, dataOutput, buf);
|
|
||||||
for (int i = 1; i < numOfRows; ++i) {
|
|
||||||
printf("abs_max_merge %d - %ld\n", i, *((long *)data + i));
|
|
||||||
if (*((long*)data + i) > r) {
|
|
||||||
r= *((long*)data + i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
*(long*)dataOutput=r;
|
|
||||||
if (numOfRows > 0) {
|
|
||||||
*numOfOutput=1;
|
|
||||||
} else {
|
|
||||||
*numOfOutput=0;
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("abs_max_merge, dataoutput:%ld, numOfOutput:%d\n", *(long *)dataOutput, *numOfOutput);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int abs_max_init(SUdfInit* buf) {
|
|
||||||
printf("abs_max init\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void abs_max_destroy(SUdfInit* buf) {
|
|
||||||
printf("abs_max destroy\n");
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
typedef struct SUdfInit{
|
|
||||||
int maybe_null; /* 1 if function can return NULL */
|
|
||||||
int decimals; /* for real functions */
|
|
||||||
long long length; /* For string functions */
|
|
||||||
char *ptr; /* free pointer for function data */
|
|
||||||
int const_item; /* 0 if result is independent of arguments */
|
|
||||||
} SUdfInit;
|
|
||||||
|
|
||||||
void add_one(char* data, short itype, short ibytes, int numOfRows, long long* ts, char* dataOutput, char* interBUf, char* tsOutput,
|
|
||||||
int* numOfOutput, short otype, short obytes, SUdfInit* buf) {
|
|
||||||
int i;
|
|
||||||
int r = 0;
|
|
||||||
printf("add_one input data:%p, type:%d, rows:%d, ts:%p,%lld, dataoutput:%p, tsOutput:%p, numOfOutput:%p, buf:%p\n", data, itype, numOfRows, ts, *ts, dataOutput, tsOutput, numOfOutput, buf);
|
|
||||||
if (itype == 4) {
|
|
||||||
for(i=0;i<numOfRows;++i) {
|
|
||||||
printf("input %d - %d", i, *((int *)data + i));
|
|
||||||
*((int *)dataOutput+i)=*((int *)data + i) + 1;
|
|
||||||
printf(", output %d\n", *((int *)dataOutput+i));
|
|
||||||
if (tsOutput) {
|
|
||||||
*(long long*)tsOutput=1000000;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*numOfOutput=numOfRows;
|
|
||||||
|
|
||||||
printf("add_one out, numOfOutput:%d\n", *numOfOutput);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,112 +0,0 @@
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
typedef struct SUdfInit{
|
|
||||||
int maybe_null; /* 1 if function can return NULL */
|
|
||||||
int decimals; /* for real functions */
|
|
||||||
long long length; /* For string functions */
|
|
||||||
char *ptr; /* free pointer for function data */
|
|
||||||
int const_item; /* 0 if result is independent of arguments */
|
|
||||||
} SUdfInit;
|
|
||||||
|
|
||||||
typedef struct SDemo{
|
|
||||||
double sum;
|
|
||||||
int num;
|
|
||||||
short otype;
|
|
||||||
}SDemo;
|
|
||||||
|
|
||||||
#define FLOAT_NULL 0x7FF00000 // it is an NAN
|
|
||||||
#define DOUBLE_NULL 0x7FFFFF0000000000LL // it is an NAN
|
|
||||||
|
|
||||||
|
|
||||||
void demo(char* data, short itype, short ibytes, int numOfRows, long long* ts, char* dataOutput, char* interBuf, char* tsOutput,
|
|
||||||
int* numOfOutput, short otype, short obytes, SUdfInit* buf) {
|
|
||||||
int i;
|
|
||||||
double r = 0;
|
|
||||||
SDemo *p = (SDemo *)interBuf;
|
|
||||||
SDemo *q = (SDemo *)dataOutput;
|
|
||||||
printf("demo input data:%p, type:%d, rows:%d, ts:%p,%lld, dataoutput:%p, interBUf:%p, tsOutput:%p, numOfOutput:%p, buf:%p\n", data, itype, numOfRows, ts, *ts, dataOutput, interBuf, tsOutput, numOfOutput, buf);
|
|
||||||
|
|
||||||
for(i=0;i<numOfRows;++i) {
|
|
||||||
if (itype == 4) {
|
|
||||||
r=*((int *)data+i);
|
|
||||||
} else if (itype == 6) {
|
|
||||||
r=*((float *)data+i);
|
|
||||||
} else if (itype == 7) {
|
|
||||||
r=*((double *)data+i);
|
|
||||||
}
|
|
||||||
|
|
||||||
p->sum += r*r;
|
|
||||||
}
|
|
||||||
|
|
||||||
p->otype = otype;
|
|
||||||
p->num += numOfRows;
|
|
||||||
|
|
||||||
q->sum = p->sum;
|
|
||||||
q->num = p->num;
|
|
||||||
q->otype = p->otype;
|
|
||||||
|
|
||||||
*numOfOutput=1;
|
|
||||||
|
|
||||||
printf("demo out, sum:%f, num:%d, numOfOutput:%d\n", p->sum, p->num, *numOfOutput);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void demo_merge(char* data, int32_t numOfRows, char* dataOutput, int32_t* numOfOutput, SUdfInit* buf) {
|
|
||||||
int i;
|
|
||||||
SDemo *p = (SDemo *)data;
|
|
||||||
SDemo res = {0};
|
|
||||||
printf("demo_merge input data:%p, rows:%d, dataoutput:%p, numOfOutput:%p, buf:%p\n", data, numOfRows, dataOutput, numOfOutput, buf);
|
|
||||||
|
|
||||||
for(i=0;i<numOfRows;++i) {
|
|
||||||
res.sum += p->sum * p->sum;
|
|
||||||
res.num += p->num;
|
|
||||||
p++;
|
|
||||||
}
|
|
||||||
|
|
||||||
p->sum = res.sum;
|
|
||||||
p->num = res.num;
|
|
||||||
|
|
||||||
*numOfOutput=1;
|
|
||||||
|
|
||||||
printf("demo out, sum:%f, num:%d, numOfOutput:%d\n", p->sum, p->num, *numOfOutput);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void demo_finalize(char* dataOutput, char* interBuf, int* numOfOutput, SUdfInit* buf) {
|
|
||||||
SDemo *p = (SDemo *)interBuf;
|
|
||||||
printf("demo_finalize interbuf:%p, numOfOutput:%p, buf:%p, sum:%f, num:%d\n", interBuf, numOfOutput, buf, p->sum, p->num);
|
|
||||||
if (p->otype == 6) {
|
|
||||||
if (p->num != 30000) {
|
|
||||||
*(unsigned int *)dataOutput = FLOAT_NULL;
|
|
||||||
} else {
|
|
||||||
*(float *)dataOutput = (float)(p->sum / p->num);
|
|
||||||
}
|
|
||||||
printf("finalize values:%f\n", *(float *)dataOutput);
|
|
||||||
} else if (p->otype == 7) {
|
|
||||||
if (p->num != 30000) {
|
|
||||||
*(unsigned long long *)dataOutput = DOUBLE_NULL;
|
|
||||||
} else {
|
|
||||||
*(double *)dataOutput = (double)(p->sum / p->num);
|
|
||||||
}
|
|
||||||
printf("finalize values:%f\n", *(double *)dataOutput);
|
|
||||||
}
|
|
||||||
|
|
||||||
*numOfOutput=1;
|
|
||||||
|
|
||||||
printf("demo finalize, numOfOutput:%d\n", *numOfOutput);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int demo_init(SUdfInit* buf) {
|
|
||||||
printf("demo init\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void demo_destroy(SUdfInit* buf) {
|
|
||||||
printf("demo destroy\n");
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
funcName = "test"
|
|
||||||
|
|
||||||
global = {}
|
|
||||||
|
|
||||||
function test_init()
|
|
||||||
return global
|
|
||||||
end
|
|
||||||
|
|
||||||
function test_add(rows, ans, key)
|
|
||||||
t = {}
|
|
||||||
t["sum"] = 0.0
|
|
||||||
t["num"] = 0
|
|
||||||
for i=1, #rows do
|
|
||||||
t["sum"] = t["sum"] + rows[i] * rows[i]
|
|
||||||
end
|
|
||||||
t["num"] = #rows
|
|
||||||
|
|
||||||
|
|
||||||
if (ans[key] ~= nil)
|
|
||||||
then
|
|
||||||
ans[key]["sum"] = ans[key]["sum"] + t["sum"]
|
|
||||||
ans[key]["num"] = ans[key]["num"] + t["num"]
|
|
||||||
else
|
|
||||||
ans[key] = t
|
|
||||||
end
|
|
||||||
|
|
||||||
return ans;
|
|
||||||
end
|
|
||||||
|
|
||||||
function test_finalize(ans, key)
|
|
||||||
local ret = 0.0
|
|
||||||
|
|
||||||
if (ans[key] ~= nil and ans[key]["num"] == 30000)
|
|
||||||
then
|
|
||||||
ret = ans[key]["sum"]/ans[key]["num"]
|
|
||||||
ans[key]["sum"] = 0.0
|
|
||||||
ans[key]["num"] = 0
|
|
||||||
else
|
|
||||||
ret = inf
|
|
||||||
end
|
|
||||||
|
|
||||||
return ret, ans
|
|
||||||
end
|
|
|
@ -1,84 +0,0 @@
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
typedef struct SUdfInit{
|
|
||||||
int maybe_null; /* 1 if function can return NULL */
|
|
||||||
int decimals; /* for real functions */
|
|
||||||
long long length; /* For string functions */
|
|
||||||
char *ptr; /* free pointer for function data */
|
|
||||||
int const_item; /* 0 if result is independent of arguments */
|
|
||||||
} SUdfInit;
|
|
||||||
|
|
||||||
#define TSDB_DATA_INT_NULL 0x80000000LL
|
|
||||||
|
|
||||||
|
|
||||||
void sum_double(char* data, short itype, short ibytes, int numOfRows, long long* ts, char* dataOutput, char* interBuf, char* tsOutput,
|
|
||||||
int* numOfOutput, short otype, short obytes, SUdfInit* buf) {
|
|
||||||
int i;
|
|
||||||
int r = 0;
|
|
||||||
printf("sum_double input data:%p, type:%d, rows:%d, ts:%p,%lld, dataoutput:%p, tsOutput:%p, numOfOutput:%p, buf:%p\n", data, itype, numOfRows, ts, *ts, dataOutput, tsOutput, numOfOutput, buf);
|
|
||||||
if (itype == 4) {
|
|
||||||
r=*(int *)dataOutput;
|
|
||||||
*numOfOutput=0;
|
|
||||||
|
|
||||||
for(i=0;i<numOfRows;++i) {
|
|
||||||
if (*((int *)data + i) == TSDB_DATA_INT_NULL) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
*numOfOutput=1;
|
|
||||||
r+=*((int *)data + i);
|
|
||||||
*(int *)dataOutput=r;
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("sum_double out, dataoutput:%d, numOfOutput:%d\n", *(int *)dataOutput, *numOfOutput);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void sum_double_finalize(char* dataOutput, char* interBuf, int* numOfOutput, SUdfInit* buf) {
|
|
||||||
int i;
|
|
||||||
int r = 0;
|
|
||||||
printf("sum_double_finalize dataoutput:%p:%d, numOfOutput:%d, buf:%p\n", dataOutput, *dataOutput, *numOfOutput, buf);
|
|
||||||
*numOfOutput=1;
|
|
||||||
*(int*)(buf->ptr)=*(int*)dataOutput*2;
|
|
||||||
*(int*)dataOutput=*(int*)(buf->ptr);
|
|
||||||
printf("sum_double finalize, dataoutput:%d, numOfOutput:%d\n", *(int *)dataOutput, *numOfOutput);
|
|
||||||
}
|
|
||||||
|
|
||||||
void sum_double_merge(char* data, int32_t numOfRows, char* dataOutput, int32_t* numOfOutput, SUdfInit* buf) {
|
|
||||||
int r = 0;
|
|
||||||
int sum = 0;
|
|
||||||
|
|
||||||
printf("sum_double_merge numOfRows:%d, dataoutput:%p, buf:%p\n", numOfRows, dataOutput, buf);
|
|
||||||
for (int i = 0; i < numOfRows; ++i) {
|
|
||||||
printf("sum_double_merge %d - %d\n", i, *((int*)data + i));
|
|
||||||
sum +=*((int*)data + i);
|
|
||||||
}
|
|
||||||
|
|
||||||
*(int*)dataOutput+=sum;
|
|
||||||
if (numOfRows > 0) {
|
|
||||||
*numOfOutput=1;
|
|
||||||
} else {
|
|
||||||
*numOfOutput=0;
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("sum_double_merge, dataoutput:%d, numOfOutput:%d\n", *(int *)dataOutput, *numOfOutput);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int sum_double_init(SUdfInit* buf) {
|
|
||||||
buf->maybe_null=1;
|
|
||||||
buf->ptr = taosMemoryMalloc(sizeof(int));
|
|
||||||
printf("sum_double init\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void sum_double_destroy(SUdfInit* buf) {
|
|
||||||
taosMemoryFree(buf->ptr);
|
|
||||||
printf("sum_double destroy\n");
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue