Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
d0cb4390
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
d0cb4390
编写于
2月 29, 2020
作者:
H
haojun Liao
提交者:
GitHub
2月 29, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1285 from taosdata/feature/lihui
Feature/lihui
上级
a0aecc78
5cb77083
变更
3
展开全部
隐藏空白更改
内联
并排
Showing
3 changed file
with
1278 addition
and
509 deletion
+1278
-509
src/client/src/tscFunctionImpl.c
src/client/src/tscFunctionImpl.c
+68
-46
src/kit/taosdump/CMakeLists.txt
src/kit/taosdump/CMakeLists.txt
+4
-4
src/kit/taosdump/taosdump.c
src/kit/taosdump/taosdump.c
+1206
-459
未找到文件。
src/client/src/tscFunctionImpl.c
浏览文件 @
d0cb4390
...
@@ -139,10 +139,10 @@ typedef struct STSCompInfo {
...
@@ -139,10 +139,10 @@ typedef struct STSCompInfo {
}
STSCompInfo
;
}
STSCompInfo
;
typedef
struct
SRateInfo
{
typedef
struct
SRateInfo
{
int64_t
CorrectionValue
;
double
CorrectionValue
;
int64_t
firstValue
;
double
firstValue
;
double
lastValue
;
TSKEY
firstKey
;
TSKEY
firstKey
;
int64_t
lastValue
;
TSKEY
lastKey
;
TSKEY
lastKey
;
int8_t
hasResult
;
// flag to denote has value
int8_t
hasResult
;
// flag to denote has value
bool
isIRate
;
// true for IRate functions, false for Rate functions
bool
isIRate
;
// true for IRate functions, false for Rate functions
...
@@ -4389,7 +4389,7 @@ static double do_calc_rate(const SRateInfo* pRateInfo) {
...
@@ -4389,7 +4389,7 @@ static double do_calc_rate(const SRateInfo* pRateInfo) {
return
0
;
return
0
;
}
}
int64_t
diff
=
0
;
double
diff
=
0
;
if
(
pRateInfo
->
isIRate
)
{
if
(
pRateInfo
->
isIRate
)
{
diff
=
pRateInfo
->
lastValue
;
diff
=
pRateInfo
->
lastValue
;
...
@@ -4408,7 +4408,7 @@ static double do_calc_rate(const SRateInfo* pRateInfo) {
...
@@ -4408,7 +4408,7 @@ static double do_calc_rate(const SRateInfo* pRateInfo) {
double
resultVal
=
((
double
)
diff
)
/
duration
;
double
resultVal
=
((
double
)
diff
)
/
duration
;
pTrace
(
"do_calc_rate() isIRate:%d firstKey:%"
PRId64
" lastKey:%"
PRId64
" firstValue:%
"
PRId64
" lastValue:%"
PRId64
" CorrectionValue:%"
PRId64
"
resultVal:%f"
,
pTrace
(
"do_calc_rate() isIRate:%d firstKey:%"
PRId64
" lastKey:%"
PRId64
" firstValue:%
f lastValue:%f CorrectionValue:%f
resultVal:%f"
,
pRateInfo
->
isIRate
,
pRateInfo
->
firstKey
,
pRateInfo
->
lastKey
,
pRateInfo
->
firstValue
,
pRateInfo
->
lastValue
,
pRateInfo
->
CorrectionValue
,
resultVal
);
pRateInfo
->
isIRate
,
pRateInfo
->
firstKey
,
pRateInfo
->
lastKey
,
pRateInfo
->
firstValue
,
pRateInfo
->
lastValue
,
pRateInfo
->
CorrectionValue
,
resultVal
);
return
resultVal
;
return
resultVal
;
...
@@ -4426,8 +4426,8 @@ static bool rate_function_setup(SQLFunctionCtx *pCtx) {
...
@@ -4426,8 +4426,8 @@ static bool rate_function_setup(SQLFunctionCtx *pCtx) {
pInfo
->
CorrectionValue
=
0
;
pInfo
->
CorrectionValue
=
0
;
pInfo
->
firstKey
=
INT64_MIN
;
pInfo
->
firstKey
=
INT64_MIN
;
pInfo
->
lastKey
=
INT64_MIN
;
pInfo
->
lastKey
=
INT64_MIN
;
pInfo
->
firstValue
=
INT64_MIN
;
pInfo
->
firstValue
=
-
DBL_MAX
;
pInfo
->
lastValue
=
INT64_MIN
;
pInfo
->
lastValue
=
-
DBL_MAX
;
pInfo
->
num
=
0
;
pInfo
->
num
=
0
;
pInfo
->
sum
=
0
;
pInfo
->
sum
=
0
;
...
@@ -4457,41 +4457,47 @@ static void rate_function(SQLFunctionCtx *pCtx) {
...
@@ -4457,41 +4457,47 @@ static void rate_function(SQLFunctionCtx *pCtx) {
notNullElems
++
;
notNullElems
++
;
int64_t
v
=
0
;
double
v
=
0
;
switch
(
pCtx
->
inputType
)
{
switch
(
pCtx
->
inputType
)
{
case
TSDB_DATA_TYPE_TINYINT
:
case
TSDB_DATA_TYPE_TINYINT
:
v
=
(
int64_t
)
GET_INT8_VAL
(
pData
);
v
=
(
double
)
GET_INT8_VAL
(
pData
);
break
;
break
;
case
TSDB_DATA_TYPE_SMALLINT
:
case
TSDB_DATA_TYPE_SMALLINT
:
v
=
(
int64_t
)
GET_INT16_VAL
(
pData
);
v
=
(
double
)
GET_INT16_VAL
(
pData
);
break
;
break
;
case
TSDB_DATA_TYPE_INT
:
case
TSDB_DATA_TYPE_INT
:
v
=
(
int64_t
)
GET_INT32_VAL
(
pData
);
v
=
(
double
)
GET_INT32_VAL
(
pData
);
break
;
break
;
case
TSDB_DATA_TYPE_BIGINT
:
case
TSDB_DATA_TYPE_BIGINT
:
v
=
(
int64_t
)
GET_INT64_VAL
(
pData
);
v
=
(
double
)
GET_INT64_VAL
(
pData
);
break
;
case
TSDB_DATA_TYPE_FLOAT
:
v
=
(
double
)
GET_FLOAT_VAL
(
pData
);
break
;
case
TSDB_DATA_TYPE_DOUBLE
:
v
=
(
double
)
GET_DOUBLE_VAL
(
pData
);
break
;
break
;
default:
default:
assert
(
0
);
assert
(
0
);
}
}
if
((
INT64_MIN
==
pRateInfo
->
firstValue
)
||
(
INT64_MIN
==
pRateInfo
->
firstKey
))
{
if
((
-
DBL_MAX
==
pRateInfo
->
firstValue
)
||
(
INT64_MIN
==
pRateInfo
->
firstKey
))
{
pRateInfo
->
firstValue
=
v
;
pRateInfo
->
firstValue
=
v
;
pRateInfo
->
firstKey
=
primaryKey
[
i
];
pRateInfo
->
firstKey
=
primaryKey
[
i
];
pTrace
(
"firstValue:%
"
PRId64
"
firstKey:%"
PRId64
,
pRateInfo
->
firstValue
,
pRateInfo
->
firstKey
);
pTrace
(
"firstValue:%
f
firstKey:%"
PRId64
,
pRateInfo
->
firstValue
,
pRateInfo
->
firstKey
);
}
}
if
(
INT64_MIN
==
pRateInfo
->
lastValue
)
{
if
(
-
DBL_MAX
==
pRateInfo
->
lastValue
)
{
pRateInfo
->
lastValue
=
v
;
pRateInfo
->
lastValue
=
v
;
}
else
if
(
v
<
pRateInfo
->
lastValue
)
{
}
else
if
(
v
<
pRateInfo
->
lastValue
)
{
pRateInfo
->
CorrectionValue
+=
pRateInfo
->
lastValue
;
pRateInfo
->
CorrectionValue
+=
pRateInfo
->
lastValue
;
pTrace
(
"CorrectionValue:%
"
PRId64
,
pRateInfo
->
CorrectionValue
);
pTrace
(
"CorrectionValue:%
f"
,
pRateInfo
->
CorrectionValue
);
}
}
pRateInfo
->
lastValue
=
v
;
pRateInfo
->
lastValue
=
v
;
pRateInfo
->
lastKey
=
primaryKey
[
i
];
pRateInfo
->
lastKey
=
primaryKey
[
i
];
pTrace
(
"lastValue:%
"
PRId64
"
lastKey:%"
PRId64
,
pRateInfo
->
lastValue
,
pRateInfo
->
lastKey
);
pTrace
(
"lastValue:%
f
lastKey:%"
PRId64
,
pRateInfo
->
lastValue
,
pRateInfo
->
lastKey
);
}
}
if
(
!
pCtx
->
hasNull
)
{
if
(
!
pCtx
->
hasNull
)
{
...
@@ -4522,30 +4528,36 @@ static void rate_function_f(SQLFunctionCtx *pCtx, int32_t index) {
...
@@ -4522,30 +4528,36 @@ static void rate_function_f(SQLFunctionCtx *pCtx, int32_t index) {
SRateInfo
*
pRateInfo
=
(
SRateInfo
*
)
pResInfo
->
interResultBuf
;
SRateInfo
*
pRateInfo
=
(
SRateInfo
*
)
pResInfo
->
interResultBuf
;
TSKEY
*
primaryKey
=
pCtx
->
ptsList
;
TSKEY
*
primaryKey
=
pCtx
->
ptsList
;
int64_t
v
=
0
;
double
v
=
0
;
switch
(
pCtx
->
inputType
)
{
switch
(
pCtx
->
inputType
)
{
case
TSDB_DATA_TYPE_TINYINT
:
case
TSDB_DATA_TYPE_TINYINT
:
v
=
(
int64_t
)
GET_INT8_VAL
(
pData
);
v
=
(
double
)
GET_INT8_VAL
(
pData
);
break
;
break
;
case
TSDB_DATA_TYPE_SMALLINT
:
case
TSDB_DATA_TYPE_SMALLINT
:
v
=
(
int64_t
)
GET_INT16_VAL
(
pData
);
v
=
(
double
)
GET_INT16_VAL
(
pData
);
break
;
break
;
case
TSDB_DATA_TYPE_INT
:
case
TSDB_DATA_TYPE_INT
:
v
=
(
int64_t
)
GET_INT32_VAL
(
pData
);
v
=
(
double
)
GET_INT32_VAL
(
pData
);
break
;
break
;
case
TSDB_DATA_TYPE_BIGINT
:
case
TSDB_DATA_TYPE_BIGINT
:
v
=
(
int64_t
)
GET_INT64_VAL
(
pData
);
v
=
(
double
)
GET_INT64_VAL
(
pData
);
break
;
case
TSDB_DATA_TYPE_FLOAT
:
v
=
(
double
)
GET_FLOAT_VAL
(
pData
);
break
;
case
TSDB_DATA_TYPE_DOUBLE
:
v
=
(
double
)
GET_DOUBLE_VAL
(
pData
);
break
;
break
;
default:
default:
assert
(
0
);
assert
(
0
);
}
}
if
((
INT64_MIN
==
pRateInfo
->
firstValue
)
||
(
INT64_MIN
==
pRateInfo
->
firstKey
))
{
if
((
-
DBL_MAX
==
pRateInfo
->
firstValue
)
||
(
INT64_MIN
==
pRateInfo
->
firstKey
))
{
pRateInfo
->
firstValue
=
v
;
pRateInfo
->
firstValue
=
v
;
pRateInfo
->
firstKey
=
primaryKey
[
index
];
pRateInfo
->
firstKey
=
primaryKey
[
index
];
}
}
if
(
INT64_MIN
==
pRateInfo
->
lastValue
)
{
if
(
-
DBL_MAX
==
pRateInfo
->
lastValue
)
{
pRateInfo
->
lastValue
=
v
;
pRateInfo
->
lastValue
=
v
;
}
else
if
(
v
<
pRateInfo
->
lastValue
)
{
}
else
if
(
v
<
pRateInfo
->
lastValue
)
{
pRateInfo
->
CorrectionValue
+=
pRateInfo
->
lastValue
;
pRateInfo
->
CorrectionValue
+=
pRateInfo
->
lastValue
;
...
@@ -4554,7 +4566,7 @@ static void rate_function_f(SQLFunctionCtx *pCtx, int32_t index) {
...
@@ -4554,7 +4566,7 @@ static void rate_function_f(SQLFunctionCtx *pCtx, int32_t index) {
pRateInfo
->
lastValue
=
v
;
pRateInfo
->
lastValue
=
v
;
pRateInfo
->
lastKey
=
primaryKey
[
index
];
pRateInfo
->
lastKey
=
primaryKey
[
index
];
pTrace
(
"====%p rate_function_f() index:%d lastValue:%
"
PRId64
" lastKey:%"
PRId64
" CorrectionValue:%"
PRId64
,
pCtx
,
index
,
pRateInfo
->
lastValue
,
pRateInfo
->
lastKey
,
pRateInfo
->
CorrectionValue
);
pTrace
(
"====%p rate_function_f() index:%d lastValue:%
f lastKey:%"
PRId64
" CorrectionValue:%f"
,
pCtx
,
index
,
pRateInfo
->
lastValue
,
pRateInfo
->
lastKey
,
pRateInfo
->
CorrectionValue
);
SET_VAL
(
pCtx
,
1
,
1
);
SET_VAL
(
pCtx
,
1
,
1
);
...
@@ -4591,7 +4603,7 @@ static void rate_func_merge(SQLFunctionCtx *pCtx) {
...
@@ -4591,7 +4603,7 @@ static void rate_func_merge(SQLFunctionCtx *pCtx) {
numOfNotNull
++
;
numOfNotNull
++
;
memcpy
(
pBuf
,
pInput
,
sizeof
(
SRateInfo
));
memcpy
(
pBuf
,
pInput
,
sizeof
(
SRateInfo
));
pTrace
(
"%p rate_func_merge() isIRate:%d firstKey:%"
PRId64
" lastKey:%"
PRId64
" firstValue:%
"
PRId64
" lastValue:%"
PRId64
" CorrectionValue:%"
PRId64
,
pTrace
(
"%p rate_func_merge() isIRate:%d firstKey:%"
PRId64
" lastKey:%"
PRId64
" firstValue:%
f lastValue:%f CorrectionValue:%f"
,
pCtx
,
pInput
->
isIRate
,
pInput
->
firstKey
,
pInput
->
lastKey
,
pInput
->
firstValue
,
pInput
->
lastValue
,
pInput
->
CorrectionValue
);
pCtx
,
pInput
->
isIRate
,
pInput
->
firstKey
,
pInput
->
lastKey
,
pInput
->
firstValue
,
pInput
->
lastValue
,
pInput
->
CorrectionValue
);
}
}
...
@@ -4614,17 +4626,15 @@ static void rate_func_copy(SQLFunctionCtx *pCtx) {
...
@@ -4614,17 +4626,15 @@ static void rate_func_copy(SQLFunctionCtx *pCtx) {
pResInfo
->
hasResult
=
((
SRateInfo
*
)
pCtx
->
aInputElemBuf
)
->
hasResult
;
pResInfo
->
hasResult
=
((
SRateInfo
*
)
pCtx
->
aInputElemBuf
)
->
hasResult
;
SRateInfo
*
pRateInfo
=
(
SRateInfo
*
)
pCtx
->
aInputElemBuf
;
SRateInfo
*
pRateInfo
=
(
SRateInfo
*
)
pCtx
->
aInputElemBuf
;
pTrace
(
"%p rate_func_second_merge() firstKey:%"
PRId64
" lastKey:%"
PRId64
" firstValue:%
"
PRId64
" lastValue:%"
PRId64
" CorrectionValue:%"
PRId64
"
hasResult:%d"
,
pTrace
(
"%p rate_func_second_merge() firstKey:%"
PRId64
" lastKey:%"
PRId64
" firstValue:%
f lastValue:%f CorrectionValue:%f
hasResult:%d"
,
pCtx
,
pRateInfo
->
firstKey
,
pRateInfo
->
lastKey
,
pRateInfo
->
firstValue
,
pRateInfo
->
lastValue
,
pRateInfo
->
CorrectionValue
,
pRateInfo
->
hasResult
);
pCtx
,
pRateInfo
->
firstKey
,
pRateInfo
->
lastKey
,
pRateInfo
->
firstValue
,
pRateInfo
->
lastValue
,
pRateInfo
->
CorrectionValue
,
pRateInfo
->
hasResult
);
}
}
static
void
rate_finalizer
(
SQLFunctionCtx
*
pCtx
)
{
static
void
rate_finalizer
(
SQLFunctionCtx
*
pCtx
)
{
SResultInfo
*
pResInfo
=
GET_RES_INFO
(
pCtx
);
SResultInfo
*
pResInfo
=
GET_RES_INFO
(
pCtx
);
SRateInfo
*
pRateInfo
=
(
SRateInfo
*
)
pResInfo
->
interResultBuf
;
SRateInfo
*
pRateInfo
=
(
SRateInfo
*
)
pResInfo
->
interResultBuf
;
pTrace
(
"%p isIRate:%d firstKey:%"
PRId64
" lastKey:%"
PRId64
" firstValue:%
"
PRId64
" lastValue:%"
PRId64
" CorrectionValue:%"
PRId64
"
hasResult:%d"
,
pTrace
(
"%p isIRate:%d firstKey:%"
PRId64
" lastKey:%"
PRId64
" firstValue:%
f lastValue:%f CorrectionValue:%f
hasResult:%d"
,
pCtx
,
pRateInfo
->
isIRate
,
pRateInfo
->
firstKey
,
pRateInfo
->
lastKey
,
pRateInfo
->
firstValue
,
pRateInfo
->
lastValue
,
pRateInfo
->
CorrectionValue
,
pRateInfo
->
hasResult
);
pCtx
,
pRateInfo
->
isIRate
,
pRateInfo
->
firstKey
,
pRateInfo
->
lastKey
,
pRateInfo
->
firstValue
,
pRateInfo
->
lastValue
,
pRateInfo
->
CorrectionValue
,
pRateInfo
->
hasResult
);
if
(
pRateInfo
->
hasResult
!=
DATA_SET_FLAG
)
{
if
(
pRateInfo
->
hasResult
!=
DATA_SET_FLAG
)
{
...
@@ -4650,7 +4660,7 @@ static void irate_function(SQLFunctionCtx *pCtx) {
...
@@ -4650,7 +4660,7 @@ static void irate_function(SQLFunctionCtx *pCtx) {
int32_t
notNullElems
=
0
;
int32_t
notNullElems
=
0
;
SResultInfo
*
pResInfo
=
GET_RES_INFO
(
pCtx
);
SResultInfo
*
pResInfo
=
GET_RES_INFO
(
pCtx
);
SRateInfo
*
pRateInfo
=
(
SRateInfo
*
)
pResInfo
->
interResultBuf
;
SRateInfo
*
pRateInfo
=
(
SRateInfo
*
)
pResInfo
->
interResultBuf
;
TSKEY
*
primaryKey
=
pCtx
->
ptsList
;
TSKEY
*
primaryKey
=
pCtx
->
ptsList
;
pTrace
(
"%p irate_function() size:%d, hasNull:%d"
,
pCtx
,
pCtx
->
size
,
pCtx
->
hasNull
);
pTrace
(
"%p irate_function() size:%d, hasNull:%d"
,
pCtx
,
pCtx
->
size
,
pCtx
->
hasNull
);
...
@@ -4668,38 +4678,44 @@ static void irate_function(SQLFunctionCtx *pCtx) {
...
@@ -4668,38 +4678,44 @@ static void irate_function(SQLFunctionCtx *pCtx) {
notNullElems
++
;
notNullElems
++
;
int64_t
v
=
0
;
double
v
=
0
;
switch
(
pCtx
->
inputType
)
{
switch
(
pCtx
->
inputType
)
{
case
TSDB_DATA_TYPE_TINYINT
:
case
TSDB_DATA_TYPE_TINYINT
:
v
=
(
int64_t
)
GET_INT8_VAL
(
pData
);
v
=
(
double
)
GET_INT8_VAL
(
pData
);
break
;
break
;
case
TSDB_DATA_TYPE_SMALLINT
:
case
TSDB_DATA_TYPE_SMALLINT
:
v
=
(
int64_t
)
GET_INT16_VAL
(
pData
);
v
=
(
double
)
GET_INT16_VAL
(
pData
);
break
;
break
;
case
TSDB_DATA_TYPE_INT
:
case
TSDB_DATA_TYPE_INT
:
v
=
(
int64_t
)
GET_INT32_VAL
(
pData
);
v
=
(
double
)
GET_INT32_VAL
(
pData
);
break
;
break
;
case
TSDB_DATA_TYPE_BIGINT
:
case
TSDB_DATA_TYPE_BIGINT
:
v
=
(
int64_t
)
GET_INT64_VAL
(
pData
);
v
=
(
double
)
GET_INT64_VAL
(
pData
);
break
;
case
TSDB_DATA_TYPE_FLOAT
:
v
=
(
double
)
GET_FLOAT_VAL
(
pData
);
break
;
case
TSDB_DATA_TYPE_DOUBLE
:
v
=
(
double
)
GET_DOUBLE_VAL
(
pData
);
break
;
break
;
default:
default:
assert
(
0
);
assert
(
0
);
}
}
// TODO: calc once if only call this function once ????
// TODO: calc once if only call this function once ????
if
((
INT64_MIN
==
pRateInfo
->
lastKey
)
||
(
INT64_MIN
==
pRateInfo
->
lastValue
))
{
if
((
INT64_MIN
==
pRateInfo
->
lastKey
)
||
(
-
DBL_MAX
==
pRateInfo
->
lastValue
))
{
pRateInfo
->
lastValue
=
v
;
pRateInfo
->
lastValue
=
v
;
pRateInfo
->
lastKey
=
primaryKey
[
i
];
pRateInfo
->
lastKey
=
primaryKey
[
i
];
pTrace
(
"%p irate_function() lastValue:%
"
PRId64
"
lastKey:%"
PRId64
,
pCtx
,
pRateInfo
->
lastValue
,
pRateInfo
->
lastKey
);
pTrace
(
"%p irate_function() lastValue:%
f
lastKey:%"
PRId64
,
pCtx
,
pRateInfo
->
lastValue
,
pRateInfo
->
lastKey
);
continue
;
continue
;
}
}
if
((
INT64_MIN
==
pRateInfo
->
firstKey
)
||
(
INT64_MIN
==
pRateInfo
->
firstValue
)){
if
((
INT64_MIN
==
pRateInfo
->
firstKey
)
||
(
-
DBL_MAX
==
pRateInfo
->
firstValue
)){
pRateInfo
->
firstValue
=
v
;
pRateInfo
->
firstValue
=
v
;
pRateInfo
->
firstKey
=
primaryKey
[
i
];
pRateInfo
->
firstKey
=
primaryKey
[
i
];
pTrace
(
"%p irate_function() firstValue:%
"
PRId64
"
firstKey:%"
PRId64
,
pCtx
,
pRateInfo
->
firstValue
,
pRateInfo
->
firstKey
);
pTrace
(
"%p irate_function() firstValue:%
f
firstKey:%"
PRId64
,
pCtx
,
pRateInfo
->
firstValue
,
pRateInfo
->
firstKey
);
break
;
break
;
}
}
}
}
...
@@ -4728,19 +4744,25 @@ static void irate_function_f(SQLFunctionCtx *pCtx, int32_t index) {
...
@@ -4728,19 +4744,25 @@ static void irate_function_f(SQLFunctionCtx *pCtx, int32_t index) {
SRateInfo
*
pRateInfo
=
(
SRateInfo
*
)
pResInfo
->
interResultBuf
;
SRateInfo
*
pRateInfo
=
(
SRateInfo
*
)
pResInfo
->
interResultBuf
;
TSKEY
*
primaryKey
=
pCtx
->
ptsList
;
TSKEY
*
primaryKey
=
pCtx
->
ptsList
;
int64_t
v
=
0
;
double
v
=
0
;
switch
(
pCtx
->
inputType
)
{
switch
(
pCtx
->
inputType
)
{
case
TSDB_DATA_TYPE_TINYINT
:
case
TSDB_DATA_TYPE_TINYINT
:
v
=
(
int64_t
)
GET_INT8_VAL
(
pData
);
v
=
(
double
)
GET_INT8_VAL
(
pData
);
break
;
break
;
case
TSDB_DATA_TYPE_SMALLINT
:
case
TSDB_DATA_TYPE_SMALLINT
:
v
=
(
int64_t
)
GET_INT16_VAL
(
pData
);
v
=
(
double
)
GET_INT16_VAL
(
pData
);
break
;
break
;
case
TSDB_DATA_TYPE_INT
:
case
TSDB_DATA_TYPE_INT
:
v
=
(
int64_t
)
GET_INT32_VAL
(
pData
);
v
=
(
double
)
GET_INT32_VAL
(
pData
);
break
;
break
;
case
TSDB_DATA_TYPE_BIGINT
:
case
TSDB_DATA_TYPE_BIGINT
:
v
=
(
int64_t
)
GET_INT64_VAL
(
pData
);
v
=
(
double
)
GET_INT64_VAL
(
pData
);
break
;
case
TSDB_DATA_TYPE_FLOAT
:
v
=
(
double
)
GET_FLOAT_VAL
(
pData
);
break
;
case
TSDB_DATA_TYPE_DOUBLE
:
v
=
(
double
)
GET_DOUBLE_VAL
(
pData
);
break
;
break
;
default:
default:
assert
(
0
);
assert
(
0
);
...
@@ -4752,7 +4774,7 @@ static void irate_function_f(SQLFunctionCtx *pCtx, int32_t index) {
...
@@ -4752,7 +4774,7 @@ static void irate_function_f(SQLFunctionCtx *pCtx, int32_t index) {
pRateInfo
->
lastValue
=
v
;
pRateInfo
->
lastValue
=
v
;
pRateInfo
->
lastKey
=
primaryKey
[
index
];
pRateInfo
->
lastKey
=
primaryKey
[
index
];
pTrace
(
"====%p irate_function_f() index:%d lastValue:%
"
PRId64
" lastKey:%"
PRId64
" firstValue:%"
PRId64
"
firstKey:%"
PRId64
,
pCtx
,
index
,
pRateInfo
->
lastValue
,
pRateInfo
->
lastKey
,
pRateInfo
->
firstValue
,
pRateInfo
->
firstKey
);
pTrace
(
"====%p irate_function_f() index:%d lastValue:%
f lastKey:%"
PRId64
" firstValue:%f
firstKey:%"
PRId64
,
pCtx
,
index
,
pRateInfo
->
lastValue
,
pRateInfo
->
lastKey
,
pRateInfo
->
firstValue
,
pRateInfo
->
firstKey
);
SET_VAL
(
pCtx
,
1
,
1
);
SET_VAL
(
pCtx
,
1
,
1
);
...
...
src/kit/taosdump/CMakeLists.txt
浏览文件 @
d0cb4390
...
@@ -10,11 +10,11 @@ IF ((TD_LINUX_64) OR (TD_LINUX_32 AND TD_ARM))
...
@@ -10,11 +10,11 @@ IF ((TD_LINUX_64) OR (TD_LINUX_32 AND TD_ARM))
AUX_SOURCE_DIRECTORY
(
. SRC
)
AUX_SOURCE_DIRECTORY
(
. SRC
)
ADD_EXECUTABLE
(
taosdump
${
SRC
}
)
ADD_EXECUTABLE
(
taosdump
${
SRC
}
)
IF
(
TD_PAGMODE_LITE
)
#
IF (TD_PAGMODE_LITE)
TARGET_LINK_LIBRARIES
(
taosdump taos
)
TARGET_LINK_LIBRARIES
(
taosdump taos
)
ELSE
()
#
ELSE ()
TARGET_LINK_LIBRARIES
(
taosdump taos_static
)
#
TARGET_LINK_LIBRARIES(taosdump taos_static)
ENDIF
()
#
ENDIF ()
ENDIF
()
ENDIF
()
src/kit/taosdump/taosdump.c
浏览文件 @
d0cb4390
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录