Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
5f8b4696
T
TDengine
项目概览
taosdata
/
TDengine
9 个月 前同步成功
通知
1176
Star
22014
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,体验更适合开发者的 AI 搜索 >>
提交
5f8b4696
编写于
3月 08, 2023
作者:
wmmhello
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix:error code & add read dump from file
上级
6a08e35f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
88 addition
and
64 deletion
+88
-64
source/client/src/clientSml.c
source/client/src/clientSml.c
+10
-10
utils/test/c/sml_test.c
utils/test/c/sml_test.c
+78
-54
未找到文件。
source/client/src/clientSml.c
浏览文件 @
5f8b4696
...
...
@@ -1263,21 +1263,21 @@ static int32_t smlInsertData(SSmlHandle *info) {
}
info
->
cost
.
insertRpcTime
=
taosGetTimestampUs
();
int
cnt
=
0
;
SVnodeModifyOpStmt
*
pStmt
=
(
SVnodeModifyOpStmt
*
)(
info
->
pQuery
)
->
pRoot
;
// merge according to vgId
void
*
p
=
taosHashIterate
(
pStmt
->
pTableBlockHashObj
,
NULL
);
while
(
p
)
{
STableDataCxt
*
pTableCxt
=
*
(
STableDataCxt
**
)
p
;
cnt
+=
taosArrayGetSize
(
pTableCxt
->
pData
->
aRowP
);
p
=
taosHashIterate
(
pStmt
->
pTableBlockHashObj
,
p
);
}
//
int cnt = 0;
//
SVnodeModifyOpStmt* pStmt = (SVnodeModifyOpStmt*)(info->pQuery)->pRoot;
//
// merge according to vgId
//
void* p = taosHashIterate(pStmt->pTableBlockHashObj, NULL);
//
while (p) {
//
STableDataCxt* pTableCxt = *(STableDataCxt**)p;
//
cnt += taosArrayGetSize(pTableCxt->pData->aRowP);
//
p = taosHashIterate(pStmt->pTableBlockHashObj, p);
//
}
SAppClusterSummary
*
pActivity
=
&
info
->
taos
->
pAppInfo
->
summary
;
atomic_add_fetch_64
((
int64_t
*
)
&
pActivity
->
numOfInsertsReq
,
1
);
launchQueryImpl
(
info
->
pRequest
,
info
->
pQuery
,
true
,
NULL
);
uError
(
"SML:%"
PRId64
", total:%d,send:%d,rec:%"
PRIu64
,
info
->
id
,
info
->
lineNum
,
cnt
,
info
->
pRequest
->
body
.
resInfo
.
numOfRows
);
//
uError("SML:%"PRId64", total:%d,send:%d,rec:%"PRIu64,info->id,info->lineNum,cnt,info->pRequest->body.resInfo.numOfRows);
return
info
->
pRequest
->
code
;
}
...
...
utils/test/c/sml_test.c
浏览文件 @
5f8b4696
...
...
@@ -902,29 +902,53 @@ int sml_19221_Test() {
TAOS_RES
*
pRes
=
taos_query
(
taos
,
"create database if not exists sml_db schemaless 1"
);
taos_free_result
(
pRes
);
const
char
*
sql
[]
=
{
"qelhxo,id=pnnqhsa,t0=t,t1=127i8 c11=L
\"
ncharColValue
\"
,c0=t,c1=127i8 "
"1626006833632000000
\n
qelhxo,id=pnnhsa,t0=t,t1=127i8 c11=L
\"
ncharColValue
\"
,c0=t,c1=127i8 "
"1626006833633000000
\n
#comment
\n
qelhxo,id=pnqhsa,t0=t,t1=127i8 c11=L
\"
ncharColValue
\"
,c0=t,c1=127i8 "
"1626006833634000000"
,
};
#undef fopen
#undef fclose
#undef malloc
FILE
*
stream
;
unsigned
char
*
ptr
;
int
retVal
=
1
;
stream
=
fopen
(
"./sml.dump"
,
"rb"
);
if
(
stream
==
NULL
)
return
0
;
fseek
(
stream
,
0
,
SEEK_END
);
int
size
=
ftell
(
stream
);
fseek
(
stream
,
0
,
SEEK_SET
);
ptr
=
malloc
(
size
+
1
);
if
(
ptr
==
NULL
)
retVal
=
0
;
else
{
if
(
fread
(
ptr
,
1
,
size
,
stream
)
!=
size
)
retVal
=
0
;
}
fclose
(
stream
);
// const char *sql[] = {
// "qelhxo,id=pnnqhsa,t0=t,t1=127i8 c11=L\"ncharColValue\",c0=t,c1=127i8 "
// "1626006833632000000\nqelhxo,id=pnnhsa,t0=t,t1=127i8 c11=L\"ncharColValue\",c0=t,c1=127i8 "
// "1626006833633000000\n#comment\nqelhxo,id=pnqhsa,t0=t,t1=127i8 c11=L\"ncharColValue\",c0=t,c1=127i8 "
// "1626006833634000000",
// };
pRes
=
taos_query
(
taos
,
"use sml_db"
);
taos_free_result
(
pRes
);
char
*
tmp
=
(
char
*
)
taosMemoryCalloc
(
1024
,
1
);
memcpy
(
tmp
,
sql
[
0
],
strlen
(
sql
[
0
]));
*
(
char
*
)(
tmp
+
44
)
=
0
;
//
//
char *tmp = (char *)taosMemoryCalloc(1024, 1);
//
memcpy(tmp, sql[0], strlen(sql[0]));
//
*(char *)(tmp + 44) = 0;
int32_t
totalRows
=
0
;
pRes
=
taos_schemaless_insert_raw
(
taos
,
tmp
,
strlen
(
sql
[
0
])
,
&
totalRows
,
TSDB_SML_LINE_PROTOCOL
,
pRes
=
taos_schemaless_insert_raw
(
taos
,
ptr
,
size
,
&
totalRows
,
TSDB_SML_LINE_PROTOCOL
,
TSDB_SML_TIMESTAMP_NANO_SECONDS
);
ASSERT
(
totalRows
==
3
);
printf
(
"%s result:%s
\n
"
,
__FUNCTION__
,
taos_errstr
(
pRes
));
//
ASSERT(totalRows == 3);
printf
(
"%s result:%s
,rows:%d
\n
"
,
__FUNCTION__
,
taos_errstr
(
pRes
),
taos_affected_rows
(
pRes
));
int
code
=
taos_errno
(
pRes
);
taos_free_result
(
pRes
);
taos_close
(
taos
);
taosMemoryFree
(
tmp
);
return
code
;
}
...
...
@@ -1190,46 +1214,46 @@ int main(int argc, char *argv[]) {
taos_options
(
TSDB_OPTION_CONFIGDIR
,
argv
[
1
]);
}
int
ret
=
0
;
ret
=
sml_ts2385_Test
();
// this test case need config sml table name using ./sml_test config_file
ASSERT
(
!
ret
);
// for(int i = 0; i < sizeof(str)/sizeof(str[0]); i++){
// printf("str:%s \t %d\n", str[i], smlCalTypeSum(str[i], strlen(str[i])));
// }
// int ret = 0;
ret
=
sml_ttl_Test
();
ASSERT
(
!
ret
);
ret
=
sml_ts2164_Test
();
ASSERT
(
!
ret
);
ret
=
sml_td22898_Test
();
ASSERT
(
!
ret
);
ret
=
sml_td22900_Test
();
ASSERT
(
ret
);
ret
=
smlProcess_influx_Test
();
ASSERT
(
!
ret
);
ret
=
smlProcess_telnet_Test
();
ASSERT
(
!
ret
);
ret
=
smlProcess_json1_Test
();
ASSERT
(
!
ret
);
ret
=
smlProcess_json2_Test
();
ASSERT
(
!
ret
);
ret
=
smlProcess_json3_Test
();
ASSERT
(
!
ret
);
ret
=
sml_TD15662_Test
();
ASSERT
(
!
ret
);
ret
=
sml_TD15742_Test
();
ASSERT
(
!
ret
);
ret
=
sml_16384_Test
();
ASSERT
(
!
ret
);
ret
=
sml_oom_Test
();
ASSERT
(
!
ret
);
ret
=
sml_dup_time_Test
();
ASSERT
(
!
ret
);
ret
=
sml_add_tag_col_Test
();
ASSERT
(
!
ret
);
ret
=
smlProcess_18784_Test
();
ASSERT
(
!
ret
);
ret
=
sml_19221_Test
();
//
int ret = 0;
//
ret = sml_ts2385_Test(); // this test case need config sml table name using ./sml_test config_file
//
ASSERT(!ret);
//
// for(int i = 0; i < sizeof(str)/sizeof(str[0]); i++){
//
// printf("str:%s \t %d\n", str[i], smlCalTypeSum(str[i], strlen(str[i])));
//
// }
//
// int ret = 0;
//
ret = sml_ttl_Test();
//
ASSERT(!ret);
//
ret = sml_ts2164_Test();
//
ASSERT(!ret);
//
ret = sml_td22898_Test();
//
ASSERT(!ret);
//
ret = sml_td22900_Test();
//
ASSERT(ret);
//
ret = smlProcess_influx_Test();
//
ASSERT(!ret);
//
ret = smlProcess_telnet_Test();
//
ASSERT(!ret);
//
ret = smlProcess_json1_Test();
//
ASSERT(!ret);
//
ret = smlProcess_json2_Test();
//
ASSERT(!ret);
//
ret = smlProcess_json3_Test();
//
ASSERT(!ret);
//
ret = sml_TD15662_Test();
//
ASSERT(!ret);
//
ret = sml_TD15742_Test();
//
ASSERT(!ret);
//
ret = sml_16384_Test();
//
ASSERT(!ret);
//
ret = sml_oom_Test();
//
ASSERT(!ret);
//
ret = sml_dup_time_Test();
//
ASSERT(!ret);
//
ret = sml_add_tag_col_Test();
//
ASSERT(!ret);
//
ret = smlProcess_18784_Test();
//
ASSERT(!ret);
int
ret
=
sml_19221_Test
();
ASSERT
(
!
ret
);
return
ret
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录