提交 9fb4bafb 编写于 作者: S Shengliang Guan

feat: dump sdbdata to file

上级 07e54820
...@@ -188,13 +188,14 @@ int main(int argc, char const *argv[]) { ...@@ -188,13 +188,14 @@ int main(int argc, char const *argv[]) {
} }
if (dmInitLog() != 0) { if (dmInitLog() != 0) {
printf("failed to start since init log error"); printf("failed to start since init log error\n");
taosCleanupArgs(); taosCleanupArgs();
return -1; return -1;
} }
if (taosInitCfg(configDir, global.envCmd, global.envFile, global.apolloUrl, global.pArgs, 0) != 0) { if (taosInitCfg(configDir, global.envCmd, global.envFile, global.apolloUrl, global.pArgs, 0) != 0) {
dError("failed to start since read config error"); dError("failed to start since read config error");
taosCloseLog();
taosCleanupArgs(); taosCleanupArgs();
return -1; return -1;
} }
......
add_executable(create_table create_table.c) add_executable(create_table createTable.c)
add_executable(tmq_demo tmqDemo.c) add_executable(tmq_demo tmqDemo.c)
add_executable(tmq_sim tmqSim.c) add_executable(tmq_sim tmqSim.c)
add_executable(sdbDump sdbDump.c)
target_link_libraries( target_link_libraries(
create_table create_table
PUBLIC taos_static PUBLIC taos_static
...@@ -22,3 +23,17 @@ target_link_libraries( ...@@ -22,3 +23,17 @@ target_link_libraries(
PUBLIC common PUBLIC common
PUBLIC os PUBLIC os
) )
target_link_libraries(
sdbDump
PUBLIC dnode
PUBLIC mnode
PUBLIC sdb
PUBLIC os
)
target_include_directories(
sdbDump
PUBLIC "${TD_SOURCE_DIR}/include/dnode/mnode"
PRIVATE "${TD_SOURCE_DIR}/source/dnode/mnode/impl/inc"
PRIVATE "${TD_SOURCE_DIR}/source/dnode/mnode/sdb/inc"
PRIVATE "${TD_SOURCE_DIR}/source/dnode/mgmt/node_mgmt/inc"
)
\ No newline at end of file
/*
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
*
* This program is free software: you can use, redistribute, and/or modify
* it under the terms of the GNU Affero General Public License, version 3
* or later ("AGPL"), as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define _DEFAULT_SOURCE
#include "dmMgmt.h"
#include "tconfig.h"
int32_t main(int32_t argc, char *argv[]) {
char datafile[PATH_MAX] = {0};
for (int32_t i = 1; i < argc; ++i) {
if (strcmp(argv[i], "-c") == 0) {
if (i < argc - 1) {
if (strlen(argv[++i]) >= PATH_MAX) {
printf("config file path overflow");
return -1;
}
tstrncpy(configDir, argv[i], PATH_MAX);
} else {
printf("'-c' requires a parameter, default is %s\n", configDir);
return -1;
}
} else if (strcmp(argv[i], "-f") == 0) {
if (i < argc - 1) {
if (strlen(argv[++i]) >= PATH_MAX) {
printf("file path overflow");
return -1;
}
tstrncpy(datafile, argv[i], PATH_MAX);
} else {
printf("'-f' requires a parameter, default is %s\n", configDir);
return -1;
}
}
}
if (taosCreateLog("dumplog", 1, configDir, NULL, NULL, NULL, NULL, 1) != 0) {
printf("failed to dump since init log error\n");
return -1;
}
if (taosInitCfg(configDir, NULL, NULL, NULL, NULL, 0) != 0) {
uError("failed to dump since read config error");
taosCloseLog();
return -1;
}
if (datafile[0] == 0) {
snprintf(datafile, sizeof(datafile), "%s%sdata%smnode%sdata%ssdb.data", tsDataDir, TD_DIRSEP, TD_DIRSEP, TD_DIRSEP,
TD_DIRSEP);
}
dInfo("dump %s to sdb.json", datafile);
taosCleanupCfg();
taosCloseLog();
return 0;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册