Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
e52a7b01
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e52a7b01
编写于
12月 21, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix valgrind error
上级
f6123395
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
47 addition
and
33 deletion
+47
-33
include/common/tdataformat.h
include/common/tdataformat.h
+15
-1
source/common/src/tdataformat.c
source/common/src/tdataformat.c
+32
-32
未找到文件。
include/common/tdataformat.h
浏览文件 @
e52a7b01
...
...
@@ -59,9 +59,23 @@ const static uint8_t BIT2_MAP[4] = {0b11111100, 0b11110011, 0b11001111, 0b001111
#define BIT1_SIZE(n) (DIV_8((n)-1) + 1)
#define BIT2_SIZE(n) (DIV_4((n)-1) + 1)
#define SET_BIT1(p, i, v) ((p)[DIV_8(i)] = (p)[DIV_8(i)] & BIT1_MAP[MOD_8(i)] | ((v) << MOD_8(i)))
#define SET_BIT1_EX(p, i, v) \
do { \
if (MOD_8(i) == 0) { \
(p)[DIV_8(i)] = 0; \
} \
SET_BIT1(p, i, v); \
} while (0)
#define GET_BIT1(p, i) (((p)[DIV_8(i)] >> MOD_8(i)) & ONE)
#define SET_BIT2(p, i, v) ((p)[DIV_4(i)] = (p)[DIV_4(i)] & BIT2_MAP[MOD_4(i)] | ((v) << MOD_4_TIME_2(i)))
#define GET_BIT2(p, i) (((p)[DIV_4(i)] >> MOD_4_TIME_2(i)) & THREE)
#define SET_BIT2_EX(p, i, v) \
do { \
if (MOD_4(i) == 0) { \
(p)[DIV_4(i)] = 0; \
} \
SET_BIT2(p, i, v); \
} while (0)
#define GET_BIT2(p, i) (((p)[DIV_4(i)] >> MOD_4_TIME_2(i)) & THREE)
// SBuffer ================================
struct
SBuffer
{
...
...
source/common/src/tdataformat.c
浏览文件 @
e52a7b01
...
...
@@ -105,18 +105,18 @@ int32_t tRowBuild(SArray *aColVal, const STSchema *pTSchema, SRow **ppRow) {
ASSERT
(((
SColVal
*
)
aColVal
->
pData
)[
0
].
type
==
TSDB_DATA_TYPE_TIMESTAMP
);
// scan ---------------
SRow
*
pRow
=
NULL
;
SColVal
*
colVals
=
(
SColVal
*
)
TARRAY_DATA
(
aColVal
);
uint8_t
flag
=
0
;
int32_t
iColVal
=
1
;
const
int32_t
nColVal
=
TARRAY_SIZE
(
aColVal
);
SColVal
*
pColVal
=
(
iColVal
<
nColVal
)
?
&
colVals
[
iColVal
]
:
NULL
;
int32_t
iTColumn
=
1
;
SRow
*
pRow
=
NULL
;
SColVal
*
colVals
=
(
SColVal
*
)
TARRAY_DATA
(
aColVal
);
uint8_t
flag
=
0
;
int32_t
iColVal
=
1
;
const
int32_t
nColVal
=
TARRAY_SIZE
(
aColVal
);
SColVal
*
pColVal
=
(
iColVal
<
nColVal
)
?
&
colVals
[
iColVal
]
:
NULL
;
int32_t
iTColumn
=
1
;
const
STColumn
*
pTColumn
=
pTSchema
->
columns
+
iTColumn
;
int32_t
ntp
=
0
;
int32_t
nkv
=
0
;
int32_t
maxIdx
=
0
;
int32_t
nIdx
=
0
;
int32_t
ntp
=
0
;
int32_t
nkv
=
0
;
int32_t
maxIdx
=
0
;
int32_t
nIdx
=
0
;
while
(
pTColumn
)
{
if
(
pColVal
)
{
if
(
pColVal
->
cid
==
pTColumn
->
colId
)
{
...
...
@@ -1620,7 +1620,7 @@ static FORCE_INLINE int32_t tColDataAppendValue10(SColData *pColData, uint8_t *p
if
(
code
)
return
code
;
memset
(
pColData
->
pBitMap
,
0
,
nBit
);
SET_BIT1
(
pColData
->
pBitMap
,
pColData
->
nVal
,
1
);
SET_BIT1
_EX
(
pColData
->
pBitMap
,
pColData
->
nVal
,
1
);
pColData
->
flag
|=
HAS_VALUE
;
...
...
@@ -1652,7 +1652,7 @@ static FORCE_INLINE int32_t tColDataAppendValue12(SColData *pColData, uint8_t *p
if
(
code
)
return
code
;
memset
(
pColData
->
pBitMap
,
0
,
nBit
);
SET_BIT1
(
pColData
->
pBitMap
,
pColData
->
nVal
,
1
);
SET_BIT1
_EX
(
pColData
->
pBitMap
,
pColData
->
nVal
,
1
);
pColData
->
flag
|=
HAS_NULL
;
pColData
->
nVal
++
;
...
...
@@ -1667,7 +1667,7 @@ static FORCE_INLINE int32_t tColDataAppendValue20(SColData *pColData, uint8_t *p
if
(
code
)
return
code
;
memset
(
pColData
->
pBitMap
,
0
,
nBit
);
SET_BIT1
(
pColData
->
pBitMap
,
pColData
->
nVal
,
1
);
SET_BIT1
_EX
(
pColData
->
pBitMap
,
pColData
->
nVal
,
1
);
pColData
->
flag
|=
HAS_VALUE
;
...
...
@@ -1695,7 +1695,7 @@ static FORCE_INLINE int32_t tColDataAppendValue21(SColData *pColData, uint8_t *p
if
(
code
)
return
code
;
memset
(
pColData
->
pBitMap
,
255
,
nBit
);
SET_BIT1
(
pColData
->
pBitMap
,
pColData
->
nVal
,
0
);
SET_BIT1
_EX
(
pColData
->
pBitMap
,
pColData
->
nVal
,
0
);
pColData
->
flag
|=
HAS_NONE
;
pColData
->
nVal
++
;
...
...
@@ -1716,9 +1716,9 @@ static FORCE_INLINE int32_t tColDataAppendValue30(SColData *pColData, uint8_t *p
if
(
code
)
return
code
;
for
(
int32_t
iVal
=
0
;
iVal
<
pColData
->
nVal
;
iVal
++
)
{
SET_BIT2
(
pBitMap
,
iVal
,
GET_BIT1
(
pColData
->
pBitMap
,
iVal
));
SET_BIT2
_EX
(
pBitMap
,
iVal
,
GET_BIT1
(
pColData
->
pBitMap
,
iVal
));
}
SET_BIT2
(
pBitMap
,
pColData
->
nVal
,
2
);
SET_BIT2
_EX
(
pBitMap
,
pColData
->
nVal
,
2
);
tFree
(
pColData
->
pBitMap
);
pColData
->
pBitMap
=
pBitMap
;
...
...
@@ -1745,7 +1745,7 @@ static FORCE_INLINE int32_t tColDataAppendValue31(SColData *pColData, uint8_t *p
code
=
tRealloc
(
&
pColData
->
pBitMap
,
BIT1_SIZE
(
pColData
->
nVal
+
1
));
if
(
code
)
return
code
;
SET_BIT1
(
pColData
->
pBitMap
,
pColData
->
nVal
,
0
);
SET_BIT1
_EX
(
pColData
->
pBitMap
,
pColData
->
nVal
,
0
);
pColData
->
nVal
++
;
return
code
;
...
...
@@ -1756,7 +1756,7 @@ static FORCE_INLINE int32_t tColDataAppendValue32(SColData *pColData, uint8_t *p
code
=
tRealloc
(
&
pColData
->
pBitMap
,
BIT1_SIZE
(
pColData
->
nVal
+
1
));
if
(
code
)
return
code
;
SET_BIT1
(
pColData
->
pBitMap
,
pColData
->
nVal
,
1
);
SET_BIT1
_EX
(
pColData
->
pBitMap
,
pColData
->
nVal
,
1
);
pColData
->
nVal
++
;
return
code
;
...
...
@@ -1772,7 +1772,7 @@ static FORCE_INLINE int32_t tColDataAppendValue41(SColData *pColData, uint8_t *p
if
(
code
)
return
code
;
memset
(
pColData
->
pBitMap
,
255
,
nBit
);
SET_BIT1
(
pColData
->
pBitMap
,
pColData
->
nVal
,
0
);
SET_BIT1
_EX
(
pColData
->
pBitMap
,
pColData
->
nVal
,
0
);
return
tColDataPutValue
(
pColData
,
NULL
,
0
);
}
...
...
@@ -1786,7 +1786,7 @@ static FORCE_INLINE int32_t tColDataAppendValue42(SColData *pColData, uint8_t *p
if
(
code
)
return
code
;
memset
(
pColData
->
pBitMap
,
255
,
nBit
);
SET_BIT1
(
pColData
->
pBitMap
,
pColData
->
nVal
,
0
);
SET_BIT1
_EX
(
pColData
->
pBitMap
,
pColData
->
nVal
,
0
);
return
tColDataPutValue
(
pColData
,
NULL
,
0
);
}
...
...
@@ -1796,7 +1796,7 @@ static FORCE_INLINE int32_t tColDataAppendValue50(SColData *pColData, uint8_t *p
code
=
tRealloc
(
&
pColData
->
pBitMap
,
BIT1_SIZE
(
pColData
->
nVal
+
1
));
if
(
code
)
return
code
;
SET_BIT1
(
pColData
->
pBitMap
,
pColData
->
nVal
,
1
);
SET_BIT1
_EX
(
pColData
->
pBitMap
,
pColData
->
nVal
,
1
);
return
tColDataPutValue
(
pColData
,
pData
,
nData
);
}
...
...
@@ -1806,7 +1806,7 @@ static FORCE_INLINE int32_t tColDataAppendValue51(SColData *pColData, uint8_t *p
code
=
tRealloc
(
&
pColData
->
pBitMap
,
BIT1_SIZE
(
pColData
->
nVal
+
1
));
if
(
code
)
return
code
;
SET_BIT1
(
pColData
->
pBitMap
,
pColData
->
nVal
,
0
);
SET_BIT1
_EX
(
pColData
->
pBitMap
,
pColData
->
nVal
,
0
);
return
tColDataPutValue
(
pColData
,
NULL
,
0
);
}
...
...
@@ -1820,9 +1820,9 @@ static FORCE_INLINE int32_t tColDataAppendValue52(SColData *pColData, uint8_t *p
if
(
code
)
return
code
;
for
(
int32_t
iVal
=
0
;
iVal
<
pColData
->
nVal
;
iVal
++
)
{
SET_BIT2
(
pBitMap
,
iVal
,
GET_BIT1
(
pColData
->
pBitMap
,
iVal
)
?
2
:
0
);
SET_BIT2
_EX
(
pBitMap
,
iVal
,
GET_BIT1
(
pColData
->
pBitMap
,
iVal
)
?
2
:
0
);
}
SET_BIT2
(
pBitMap
,
pColData
->
nVal
,
1
);
SET_BIT2
_EX
(
pBitMap
,
pColData
->
nVal
,
1
);
tFree
(
pColData
->
pBitMap
);
pColData
->
pBitMap
=
pBitMap
;
...
...
@@ -1834,7 +1834,7 @@ static FORCE_INLINE int32_t tColDataAppendValue60(SColData *pColData, uint8_t *p
code
=
tRealloc
(
&
pColData
->
pBitMap
,
BIT1_SIZE
(
pColData
->
nVal
+
1
));
if
(
code
)
return
code
;
SET_BIT1
(
pColData
->
pBitMap
,
pColData
->
nVal
,
1
);
SET_BIT1
_EX
(
pColData
->
pBitMap
,
pColData
->
nVal
,
1
);
return
tColDataPutValue
(
pColData
,
pData
,
nData
);
}
...
...
@@ -1848,9 +1848,9 @@ static FORCE_INLINE int32_t tColDataAppendValue61(SColData *pColData, uint8_t *p
if
(
code
)
return
code
;
for
(
int32_t
iVal
=
0
;
iVal
<
pColData
->
nVal
;
iVal
++
)
{
SET_BIT2
(
pBitMap
,
iVal
,
GET_BIT1
(
pColData
->
pBitMap
,
iVal
)
?
2
:
1
);
SET_BIT2
_EX
(
pBitMap
,
iVal
,
GET_BIT1
(
pColData
->
pBitMap
,
iVal
)
?
2
:
1
);
}
SET_BIT2
(
pBitMap
,
pColData
->
nVal
,
0
);
SET_BIT2
_EX
(
pBitMap
,
pColData
->
nVal
,
0
);
tFree
(
pColData
->
pBitMap
);
pColData
->
pBitMap
=
pBitMap
;
...
...
@@ -1862,7 +1862,7 @@ static FORCE_INLINE int32_t tColDataAppendValue62(SColData *pColData, uint8_t *p
code
=
tRealloc
(
&
pColData
->
pBitMap
,
BIT1_SIZE
(
pColData
->
nVal
+
1
));
if
(
code
)
return
code
;
SET_BIT1
(
pColData
->
pBitMap
,
pColData
->
nVal
,
0
);
SET_BIT1
_EX
(
pColData
->
pBitMap
,
pColData
->
nVal
,
0
);
return
tColDataPutValue
(
pColData
,
NULL
,
0
);
}
...
...
@@ -1871,7 +1871,7 @@ static FORCE_INLINE int32_t tColDataAppendValue70(SColData *pColData, uint8_t *p
code
=
tRealloc
(
&
pColData
->
pBitMap
,
BIT2_SIZE
(
pColData
->
nVal
+
1
));
if
(
code
)
return
code
;
SET_BIT2
(
pColData
->
pBitMap
,
pColData
->
nVal
,
2
);
SET_BIT2
_EX
(
pColData
->
pBitMap
,
pColData
->
nVal
,
2
);
return
tColDataPutValue
(
pColData
,
pData
,
nData
);
}
...
...
@@ -1880,7 +1880,7 @@ static FORCE_INLINE int32_t tColDataAppendValue71(SColData *pColData, uint8_t *p
code
=
tRealloc
(
&
pColData
->
pBitMap
,
BIT2_SIZE
(
pColData
->
nVal
+
1
));
if
(
code
)
return
code
;
SET_BIT2
(
pColData
->
pBitMap
,
pColData
->
nVal
,
0
);
SET_BIT2
_EX
(
pColData
->
pBitMap
,
pColData
->
nVal
,
0
);
return
tColDataPutValue
(
pColData
,
NULL
,
0
);
}
...
...
@@ -1889,7 +1889,7 @@ static FORCE_INLINE int32_t tColDataAppendValue72(SColData *pColData, uint8_t *p
code
=
tRealloc
(
&
pColData
->
pBitMap
,
BIT2_SIZE
(
pColData
->
nVal
+
1
));
if
(
code
)
return
code
;
SET_BIT2
(
pColData
->
pBitMap
,
pColData
->
nVal
,
1
);
SET_BIT2
_EX
(
pColData
->
pBitMap
,
pColData
->
nVal
,
1
);
return
tColDataPutValue
(
pColData
,
NULL
,
0
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录