Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
c8d49b60
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c8d49b60
编写于
2月 02, 2023
作者:
wmmhello
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix:roll back htol length for block raw data
上级
8a21d7f3
变更
7
显示空白变更内容
内联
并排
Showing
7 changed file
with
21 addition
and
20 deletion
+21
-20
include/libs/parser/parser.h
include/libs/parser/parser.h
+1
-1
source/client/src/clientImpl.c
source/client/src/clientImpl.c
+4
-7
source/client/src/clientRawBlockWrite.c
source/client/src/clientRawBlockWrite.c
+4
-4
source/common/src/tdatablock.c
source/common/src/tdatablock.c
+2
-2
source/dnode/vnode/src/tq/tq.c
source/dnode/vnode/src/tq/tq.c
+1
-1
source/dnode/vnode/src/tq/tqRead.c
source/dnode/vnode/src/tq/tqRead.c
+3
-2
source/libs/parser/src/parInsertUtil.c
source/libs/parser/src/parInsertUtil.c
+6
-3
未找到文件。
include/libs/parser/parser.h
浏览文件 @
c8d49b60
...
...
@@ -115,7 +115,7 @@ int32_t smlBindData(SQuery* handle, bool dataFormat, SArray* tags, SArray* colsS
char
*
tableName
,
const
char
*
sTableName
,
int32_t
sTableNameLen
,
int32_t
ttl
,
char
*
msgBuf
,
int16_t
msgBufLen
);
int32_t
smlBuildOutput
(
SQuery
*
handle
,
SHashObj
*
pVgHash
);
int
rawBlockBindData
(
SQuery
*
query
,
STableMeta
*
pTableMeta
,
void
*
data
,
SVCreateTbReq
*
pCreateTb
,
TAOS_FIELD
*
fields
,
int
numFields
);
int
rawBlockBindData
(
SQuery
*
query
,
STableMeta
*
pTableMeta
,
void
*
data
,
SVCreateTbReq
*
pCreateTb
,
TAOS_FIELD
*
fields
,
int
numFields
,
bool
needChangeLength
);
int32_t
rewriteToVnodeModifyOpStmt
(
SQuery
*
pQuery
,
SArray
*
pBufArray
);
SArray
*
serializeVgroupsCreateTableBatch
(
SHashObj
*
pVgroupHashmap
);
...
...
source/client/src/clientImpl.c
浏览文件 @
c8d49b60
...
...
@@ -1771,10 +1771,8 @@ static int32_t doConvertJson(SReqResultInfo* pResultInfo, int32_t numOfCols, int
char
*
pStart
=
p
;
char
*
pStart1
=
p1
;
for
(
int32_t
i
=
0
;
i
<
numOfCols
;
++
i
)
{
// int32_t colLen = htonl(colLength[i]);
// int32_t colLen1 = htonl(colLength1[i]);
int32_t
colLen
=
colLength
[
i
];
int32_t
colLen1
=
colLength1
[
i
];
int32_t
colLen
=
htonl
(
colLength
[
i
]);
int32_t
colLen1
=
htonl
(
colLength1
[
i
]);
if
(
ASSERT
(
colLen
<
dataLen
)){
tscError
(
"doConvertJson error: colLen:%d >= dataLen:%d"
,
colLen
,
dataLen
);
return
TSDB_CODE_TSC_INTERNAL_ERROR
;
...
...
@@ -1833,8 +1831,7 @@ static int32_t doConvertJson(SReqResultInfo* pResultInfo, int32_t numOfCols, int
}
colLen1
=
len
;
totalLen
+=
colLen1
;
// colLength1[i] = htonl(len);
colLength1
[
i
]
=
len
;
colLength1
[
i
]
=
htonl
(
len
);
}
else
if
(
IS_VAR_DATA_TYPE
(
pResultInfo
->
fields
[
i
].
type
))
{
len
=
numOfRows
*
sizeof
(
int32_t
);
memcpy
(
pStart1
,
pStart
,
len
);
...
...
@@ -1922,7 +1919,7 @@ int32_t setResultDataPtr(SReqResultInfo* pResultInfo, TAOS_FIELD* pFields, int32
char
*
pStart
=
p
;
for
(
int32_t
i
=
0
;
i
<
numOfCols
;
++
i
)
{
//
colLength[i] = htonl(colLength[i]);
colLength
[
i
]
=
htonl
(
colLength
[
i
]);
if
(
colLength
[
i
]
>=
dataLen
)
{
tscError
(
"invalid colLength %d, dataLen %d"
,
colLength
[
i
],
dataLen
);
return
TSDB_CODE_TSC_INTERNAL_ERROR
;
...
...
source/client/src/clientRawBlockWrite.c
浏览文件 @
c8d49b60
...
...
@@ -1307,7 +1307,7 @@ int taos_write_raw_block_with_fields(TAOS* taos, int rows, char* pData, const ch
pVgHash
=
taosHashInit
(
16
,
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_INT
),
true
,
HASH_NO_LOCK
);
taosHashPut
(
pVgHash
,
(
const
char
*
)
&
vgData
.
vgId
,
sizeof
(
vgData
.
vgId
),
(
char
*
)
&
vgData
,
sizeof
(
vgData
));
code
=
rawBlockBindData
(
pQuery
,
pTableMeta
,
pData
,
NULL
,
fields
,
numFields
);
code
=
rawBlockBindData
(
pQuery
,
pTableMeta
,
pData
,
NULL
,
fields
,
numFields
,
false
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
uError
(
"WriteRaw:rawBlockBindData failed"
);
goto
end
;
...
...
@@ -1387,7 +1387,7 @@ int taos_write_raw_block(TAOS* taos, int rows, char* pData, const char* tbname)
pVgHash
=
taosHashInit
(
16
,
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_INT
),
true
,
HASH_NO_LOCK
);
taosHashPut
(
pVgHash
,
(
const
char
*
)
&
vgData
.
vgId
,
sizeof
(
vgData
.
vgId
),
(
char
*
)
&
vgData
,
sizeof
(
vgData
));
code
=
rawBlockBindData
(
pQuery
,
pTableMeta
,
pData
,
NULL
,
NULL
,
0
);
code
=
rawBlockBindData
(
pQuery
,
pTableMeta
,
pData
,
NULL
,
NULL
,
0
,
false
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
uError
(
"WriteRaw:rawBlockBindData failed"
);
goto
end
;
...
...
@@ -1515,7 +1515,7 @@ static int32_t tmqWriteRawDataImpl(TAOS* taos, void* data, int32_t dataLen) {
fields
[
i
].
bytes
=
pSW
->
pSchema
[
i
].
bytes
;
tstrncpy
(
fields
[
i
].
name
,
pSW
->
pSchema
[
i
].
name
,
tListLen
(
pSW
->
pSchema
[
i
].
name
));
}
code
=
rawBlockBindData
(
pQuery
,
pTableMeta
,
pRetrieve
->
data
,
NULL
,
fields
,
pSW
->
nCols
);
code
=
rawBlockBindData
(
pQuery
,
pTableMeta
,
pRetrieve
->
data
,
NULL
,
fields
,
pSW
->
nCols
,
true
);
taosMemoryFree
(
fields
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
uError
(
"WriteRaw:rawBlockBindData failed"
);
...
...
@@ -1686,7 +1686,7 @@ static int32_t tmqWriteRawMetaDataImpl(TAOS* taos, void* data, int32_t dataLen)
fields
[
i
].
bytes
=
pSW
->
pSchema
[
i
].
bytes
;
tstrncpy
(
fields
[
i
].
name
,
pSW
->
pSchema
[
i
].
name
,
tListLen
(
pSW
->
pSchema
[
i
].
name
));
}
code
=
rawBlockBindData
(
pQuery
,
pTableMeta
,
pRetrieve
->
data
,
pCreateReqDst
,
fields
,
pSW
->
nCols
);
code
=
rawBlockBindData
(
pQuery
,
pTableMeta
,
pRetrieve
->
data
,
pCreateReqDst
,
fields
,
pSW
->
nCols
,
true
);
taosMemoryFree
(
fields
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
uError
(
"WriteRaw:rawBlockBindData failed"
);
...
...
source/common/src/tdatablock.c
浏览文件 @
c8d49b60
...
...
@@ -2482,7 +2482,7 @@ int32_t blockEncode(const SSDataBlock* pBlock, char* data, int32_t numOfCols) {
}
data
+=
colSizes
[
col
];
//
colSizes[col] = htonl(colSizes[col]);
colSizes
[
col
]
=
htonl
(
colSizes
[
col
]);
// uError("blockEncode col bytes:%d, type:%d, size:%d, htonl size:%d", pColRes->info.bytes, pColRes->info.type, htonl(colSizes[col]), colSizes[col]);
}
...
...
@@ -2547,7 +2547,7 @@ const char* blockDecode(SSDataBlock* pBlock, const char* pData) {
pStart
+=
sizeof
(
int32_t
)
*
numOfCols
;
for
(
int32_t
i
=
0
;
i
<
numOfCols
;
++
i
)
{
//
colLen[i] = htonl(colLen[i]);
colLen
[
i
]
=
htonl
(
colLen
[
i
]);
ASSERT
(
colLen
[
i
]
>=
0
);
SColumnInfoData
*
pColInfoData
=
taosArrayGet
(
pBlock
->
pDataBlock
,
i
);
...
...
source/dnode/vnode/src/tq/tq.c
浏览文件 @
c8d49b60
...
...
@@ -707,7 +707,7 @@ int32_t tqProcessPollReq(STQ* pTq, SRpcMsg* pMsg) {
}
else
{
/*A(pHandle->fetchMeta);*/
/*A(IS_META_MSG(pHead->msgType));*/
tqDebug
(
"fetch meta msg, ver:%"
PRId64
", type:%
d"
,
pHead
->
version
,
pHead
->
msgType
);
tqDebug
(
"fetch meta msg, ver:%"
PRId64
", type:%
s"
,
pHead
->
version
,
TMSG_INFO
(
pHead
->
msgType
)
);
tqOffsetResetToLog
(
&
metaRsp
.
rspOffset
,
fetchVer
);
metaRsp
.
resMsgType
=
pHead
->
msgType
;
metaRsp
.
metaRspLen
=
pHead
->
bodyLen
;
...
...
source/dnode/vnode/src/tq/tqRead.c
浏览文件 @
c8d49b60
...
...
@@ -454,12 +454,13 @@ bool tqNextDataBlockFilterOut2(STqReader* pReader, SHashObj* filterOutUids) {
int32_t
blockSz
=
taosArrayGetSize
(
pReader
->
submit
.
aSubmitTbData
);
while
(
pReader
->
nextBlk
<
blockSz
)
{
SSubmitTbData
*
pSubmitTbData
=
taosArrayGet
(
pReader
->
submit
.
aSubmitTbData
,
pReader
->
nextBlk
);
if
(
pReader
->
tbIdHash
==
NULL
)
return
true
;
if
(
filterOutUids
==
NULL
)
return
true
;
void
*
ret
=
taosHashGet
(
pReader
->
tbIdHash
,
&
pSubmitTbData
->
uid
,
sizeof
(
int64_t
));
void
*
ret
=
taosHashGet
(
filterOutUids
,
&
pSubmitTbData
->
uid
,
sizeof
(
int64_t
));
if
(
ret
==
NULL
)
{
return
true
;
}
pReader
->
nextBlk
++
;
}
tDestroySSubmitReq2
(
&
pReader
->
submit
,
TSDB_MSG_FLG_DECODE
);
...
...
source/libs/parser/src/parInsertUtil.c
浏览文件 @
c8d49b60
...
...
@@ -608,7 +608,7 @@ static int bindFileds(SBoundColInfo* pBoundInfo, SSchema* pSchema, TAOS_FIELD* f
}
int
rawBlockBindData
(
SQuery
*
query
,
STableMeta
*
pTableMeta
,
void
*
data
,
SVCreateTbReq
*
pCreateTb
,
TAOS_FIELD
*
tFields
,
int
numFields
)
{
int
numFields
,
bool
needChangeLength
)
{
STableDataCxt
*
pTableCxt
=
NULL
;
int
ret
=
insGetTableDataCxt
(((
SVnodeModifyOpStmt
*
)(
query
->
pRoot
))
->
pTableBlockHashObj
,
&
pTableMeta
->
uid
,
sizeof
(
pTableMeta
->
uid
),
pTableMeta
,
&
pCreateTb
,
&
pTableCxt
,
true
);
...
...
@@ -682,8 +682,11 @@ int rawBlockBindData(SQuery* query, STableMeta* pTableMeta, void* data, SVCreate
tColDataAddValueByDataBlock
(
pCol
,
pColSchema
->
type
,
pColSchema
->
bytes
,
numOfRows
,
offset
,
pData
);
fields
+=
sizeof
(
int8_t
)
+
sizeof
(
int32_t
);
if
(
needChangeLength
)
{
pStart
+=
htonl
(
colLength
[
c
]);
}
else
{
pStart
+=
colLength
[
c
];
// pStart += htonl(colLength[c]);
}
}
end:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录