Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
7bba9996
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
提交
7bba9996
编写于
11月 08, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
perf: optimize insert
上级
df69e060
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
21 addition
and
26 deletion
+21
-26
include/common/tdataformat.h
include/common/tdataformat.h
+10
-3
source/common/src/tdataformat.c
source/common/src/tdataformat.c
+1
-15
source/common/src/trow.c
source/common/src/trow.c
+9
-7
source/dnode/vnode/src/tsdb/tsdbUtil.c
source/dnode/vnode/src/tsdb/tsdbUtil.c
+1
-1
未找到文件。
include/common/tdataformat.h
浏览文件 @
7bba9996
...
...
@@ -74,9 +74,7 @@ int32_t tTSchemaCreate(int32_t sver, SSchema *pSchema, int32_t nCols, STSchema *
void
tTSchemaDestroy
(
STSchema
*
pTSchema
);
// SValue ================================
int32_t
tPutValue
(
uint8_t
*
p
,
SValue
*
pValue
,
int8_t
type
);
int32_t
tGetValue
(
uint8_t
*
p
,
SValue
*
pValue
,
int8_t
type
);
int
tValueCmprFn
(
const
SValue
*
pValue1
,
const
SValue
*
pValue2
,
int8_t
type
);
static
FORCE_INLINE
int32_t
tGetValue
(
uint8_t
*
p
,
SValue
*
pValue
,
int8_t
type
);
// SColVal ================================
#define CV_FLAG_VALUE ((int8_t)0x0)
...
...
@@ -283,6 +281,15 @@ void tdResetTSchemaBuilder(STSchemaBuilder *pBuilder, schema_ver_t version)
int32_t
tdAddColToSchema
(
STSchemaBuilder
*
pBuilder
,
int8_t
type
,
int8_t
flags
,
col_id_t
colId
,
col_bytes_t
bytes
);
STSchema
*
tdGetSchemaFromBuilder
(
STSchemaBuilder
*
pBuilder
);
static
FORCE_INLINE
int32_t
tGetValue
(
uint8_t
*
p
,
SValue
*
pValue
,
int8_t
type
)
{
if
(
IS_VAR_DATA_TYPE
(
type
))
{
return
tGetBinary
(
p
,
&
pValue
->
pData
,
pValue
?
&
pValue
->
nData
:
NULL
);
}
else
{
memcpy
(
&
pValue
->
val
,
p
,
tDataTypes
[
type
].
bytes
);
return
tDataTypes
[
type
].
bytes
;
}
}
#endif
#ifdef __cplusplus
...
...
source/common/src/tdataformat.c
浏览文件 @
7bba9996
...
...
@@ -56,7 +56,7 @@ typedef struct {
#define TSROW_IS_KV_ROW(r) ((r)->flags & TSROW_KV_ROW)
// SValue
int32_t
tPutValue
(
uint8_t
*
p
,
SValue
*
pValue
,
int8_t
type
)
{
static
FORCE_INLINE
int32_t
tPutValue
(
uint8_t
*
p
,
SValue
*
pValue
,
int8_t
type
)
{
if
(
IS_VAR_DATA_TYPE
(
type
))
{
return
tPutBinary
(
p
,
pValue
->
pData
,
pValue
->
nData
);
}
else
{
...
...
@@ -65,20 +65,6 @@ int32_t tPutValue(uint8_t *p, SValue *pValue, int8_t type) {
}
}
int32_t
tGetValue
(
uint8_t
*
p
,
SValue
*
pValue
,
int8_t
type
)
{
if
(
IS_VAR_DATA_TYPE
(
type
))
{
return
tGetBinary
(
p
,
&
pValue
->
pData
,
pValue
?
&
pValue
->
nData
:
NULL
);
}
else
{
memcpy
(
&
pValue
->
val
,
p
,
tDataTypes
[
type
].
bytes
);
return
tDataTypes
[
type
].
bytes
;
}
}
int
tValueCmprFn
(
const
SValue
*
pValue1
,
const
SValue
*
pValue2
,
int8_t
type
)
{
// TODO
return
0
;
}
// STSRow2 ========================================================================
static
void
setBitMap
(
uint8_t
*
pb
,
uint8_t
v
,
int32_t
idx
,
uint8_t
flags
)
{
if
(
pb
)
{
...
...
source/common/src/trow.c
浏览文件 @
7bba9996
...
...
@@ -74,7 +74,7 @@ void tdSCellValPrint(SCellVal *pVal, int8_t colType) {
printf
(
"NONE "
);
return
;
}
if
(
!
pVal
->
val
)
{
if
(
!
pVal
->
val
)
{
ASSERT
(
0
);
printf
(
"BadVal "
);
return
;
...
...
@@ -1083,13 +1083,15 @@ void tTSRowGetVal(STSRow *pRow, STSchema *pTSchema, int16_t iCol, SColVal *pColV
}
else
if
(
tdValTypeIsNull
(
cv
.
valType
))
{
*
pColVal
=
COL_VAL_NULL
(
pTColumn
->
colId
,
pTColumn
->
type
);
}
else
{
pColVal
->
cid
=
pTColumn
->
colId
;
pColVal
->
type
=
pTColumn
->
type
;
pColVal
->
flag
=
CV_FLAG_VALUE
;
if
(
IS_VAR_DATA_TYPE
(
pTColumn
->
type
))
{
value
.
nData
=
varDataLen
(
cv
.
val
);
value
.
pData
=
varDataVal
(
cv
.
val
);
pColVal
->
value
.
nData
=
varDataLen
(
cv
.
val
);
pColVal
->
value
.
pData
=
varDataVal
(
cv
.
val
);
}
else
{
tGetValue
(
cv
.
val
,
&
value
,
pTColumn
->
type
);
memcpy
(
&
pColVal
->
value
.
val
,
cv
.
val
,
tDataTypes
[
pTColumn
->
type
].
bytes
);
}
*
pColVal
=
COL_VAL_VALUE
(
pTColumn
->
colId
,
pTColumn
->
type
,
value
);
}
}
\ No newline at end of file
source/dnode/vnode/src/tsdb/tsdbUtil.c
浏览文件 @
7bba9996
...
...
@@ -607,7 +607,7 @@ void tRowIterInit(SRowIter *pIter, TSDBROW *pRow, STSchema *pTSchema) {
SColVal
*
tRowIterNext
(
SRowIter
*
pIter
)
{
if
(
pIter
->
pRow
->
type
==
0
)
{
if
(
pIter
->
i
<
pIter
->
pTSchema
->
numOfCols
)
{
t
sdbRowGetColVal
(
pIter
->
p
Row
,
pIter
->
pTSchema
,
pIter
->
i
,
&
pIter
->
colVal
);
t
TSRowGetVal
(
pIter
->
pRow
->
pTS
Row
,
pIter
->
pTSchema
,
pIter
->
i
,
&
pIter
->
colVal
);
pIter
->
i
++
;
return
&
pIter
->
colVal
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录