未验证 提交 c61a99a7 编写于 作者: sangshuduo's avatar sangshuduo 提交者: GitHub

[TD-5479]<fix>: taosdump -S -E does not work. (#6980)

* [TD-5479]<fix>: taosdump -S -E does not work.

* taosdemo support timestamp step from command line.
上级 be4e4c38
...@@ -225,6 +225,7 @@ typedef struct SArguments_S { ...@@ -225,6 +225,7 @@ typedef struct SArguments_S {
uint32_t num_of_CPR; uint32_t num_of_CPR;
uint32_t num_of_threads; uint32_t num_of_threads;
uint64_t insert_interval; uint64_t insert_interval;
uint64_t timestamp_step;
int64_t query_times; int64_t query_times;
uint32_t interlace_rows; uint32_t interlace_rows;
uint32_t num_of_RPR; // num_of_records_per_req uint32_t num_of_RPR; // num_of_records_per_req
...@@ -605,6 +606,7 @@ SArguments g_args = { ...@@ -605,6 +606,7 @@ SArguments g_args = {
4, // num_of_CPR 4, // num_of_CPR
10, // num_of_connections/thread 10, // num_of_connections/thread
0, // insert_interval 0, // insert_interval
DEFAULT_TIMESTAMP_STEP, // timestamp_step
1, // query_times 1, // query_times
0, // interlace_rows; 0, // interlace_rows;
30000, // num_of_RPR 30000, // num_of_RPR
...@@ -740,6 +742,9 @@ static void printHelp() { ...@@ -740,6 +742,9 @@ static void printHelp() {
"The number of threads. Default is 10."); "The number of threads. Default is 10.");
printf("%s%s%s%s\n", indent, "-i", indent, printf("%s%s%s%s\n", indent, "-i", indent,
"The sleep time (ms) between insertion. Default is 0."); "The sleep time (ms) between insertion. Default is 0.");
printf("%s%s%s%s%d\n", indent, "-S", indent,
"The timestamp step between insertion. Default is %d.",
DEFAULT_TIMESTAMP_STEP);
printf("%s%s%s%s\n", indent, "-r", indent, printf("%s%s%s%s\n", indent, "-r", indent,
"The number of records per request. Default is 30000."); "The number of records per request. Default is 30000.");
printf("%s%s%s%s\n", indent, "-t", indent, printf("%s%s%s%s\n", indent, "-t", indent,
...@@ -881,6 +886,14 @@ static void parse_args(int argc, char *argv[], SArguments *arguments) { ...@@ -881,6 +886,14 @@ static void parse_args(int argc, char *argv[], SArguments *arguments) {
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
arguments->insert_interval = atoi(argv[++i]); arguments->insert_interval = atoi(argv[++i]);
} else if (strcmp(argv[i], "-S") == 0) {
if ((argc == i+1) ||
(!isStringNumber(argv[i+1]))) {
printHelp();
errorPrint("\n\t%s%s", argv[i], " need a number following!\n");
exit(EXIT_FAILURE);
}
arguments->timestamp_step = atoi(argv[++i]);
} else if (strcmp(argv[i], "-qt") == 0) { } else if (strcmp(argv[i], "-qt") == 0) {
if ((argc == i+1) if ((argc == i+1)
|| (!isStringNumber(argv[i+1]))) { || (!isStringNumber(argv[i+1]))) {
...@@ -4107,7 +4120,7 @@ static bool getMetaFromInsertJsonFile(cJSON* root) { ...@@ -4107,7 +4120,7 @@ static bool getMetaFromInsertJsonFile(cJSON* root) {
if (timestampStep && timestampStep->type == cJSON_Number) { if (timestampStep && timestampStep->type == cJSON_Number) {
g_Dbs.db[i].superTbls[j].timeStampStep = timestampStep->valueint; g_Dbs.db[i].superTbls[j].timeStampStep = timestampStep->valueint;
} else if (!timestampStep) { } else if (!timestampStep) {
g_Dbs.db[i].superTbls[j].timeStampStep = DEFAULT_TIMESTAMP_STEP; g_Dbs.db[i].superTbls[j].timeStampStep = g_args.timestamp_step;
} else { } else {
printf("ERROR: failed to read json, timestamp_step not found\n"); printf("ERROR: failed to read json, timestamp_step not found\n");
goto PARSE_OVER; goto PARSE_OVER;
...@@ -5190,13 +5203,13 @@ static int32_t generateDataTailWithoutStb( ...@@ -5190,13 +5203,13 @@ static int32_t generateDataTailWithoutStb(
if (g_args.disorderRatio) { if (g_args.disorderRatio) {
retLen = generateData(data, data_type, retLen = generateData(data, data_type,
startTime + getTSRandTail( startTime + getTSRandTail(
(int64_t) DEFAULT_TIMESTAMP_STEP, k, g_args.timestamp_step, k,
g_args.disorderRatio, g_args.disorderRatio,
g_args.disorderRange), g_args.disorderRange),
lenOfBinary); lenOfBinary);
} else { } else {
retLen = generateData(data, data_type, retLen = generateData(data, data_type,
startTime + (int64_t) (DEFAULT_TIMESTAMP_STEP* k), startTime + g_args.timestamp_step * k,
lenOfBinary); lenOfBinary);
} }
...@@ -5714,11 +5727,11 @@ static int32_t prepareStmtWithoutStb( ...@@ -5714,11 +5727,11 @@ static int32_t prepareStmtWithoutStb(
if (g_args.disorderRatio) { if (g_args.disorderRatio) {
*bind_ts = startTime + getTSRandTail( *bind_ts = startTime + getTSRandTail(
(int64_t)DEFAULT_TIMESTAMP_STEP, k, g_args.timestamp_step, k,
g_args.disorderRatio, g_args.disorderRatio,
g_args.disorderRange); g_args.disorderRange);
} else { } else {
*bind_ts = startTime + (int64_t)(DEFAULT_TIMESTAMP_STEP * k); *bind_ts = startTime + g_args.timestamp_step * k;
} }
bind->buffer_length = sizeof(int64_t); bind->buffer_length = sizeof(int64_t);
bind->buffer = bind_ts; bind->buffer = bind_ts;
...@@ -6109,7 +6122,7 @@ static void* syncWriteInterlace(threadInfo *pThreadInfo) { ...@@ -6109,7 +6122,7 @@ static void* syncWriteInterlace(threadInfo *pThreadInfo) {
insertRows = g_args.num_of_DPT; insertRows = g_args.num_of_DPT;
interlaceRows = g_args.interlace_rows; interlaceRows = g_args.interlace_rows;
maxSqlLen = g_args.max_sql_len; maxSqlLen = g_args.max_sql_len;
nTimeStampStep = DEFAULT_TIMESTAMP_STEP; nTimeStampStep = g_args.timestamp_step;
insert_interval = g_args.insert_interval; insert_interval = g_args.insert_interval;
} }
...@@ -6369,7 +6382,7 @@ static void* syncWriteProgressive(threadInfo *pThreadInfo) { ...@@ -6369,7 +6382,7 @@ static void* syncWriteProgressive(threadInfo *pThreadInfo) {
SSuperTable* superTblInfo = pThreadInfo->superTblInfo; SSuperTable* superTblInfo = pThreadInfo->superTblInfo;
uint64_t maxSqlLen = superTblInfo?superTblInfo->maxSqlLen:g_args.max_sql_len; uint64_t maxSqlLen = superTblInfo?superTblInfo->maxSqlLen:g_args.max_sql_len;
int64_t timeStampStep = int64_t timeStampStep =
superTblInfo?superTblInfo->timeStampStep:DEFAULT_TIMESTAMP_STEP; superTblInfo?superTblInfo->timeStampStep:g_args.timestamp_step;
int64_t insertRows = int64_t insertRows =
(superTblInfo)?superTblInfo->insertRows:g_args.num_of_DPT; (superTblInfo)?superTblInfo->insertRows:g_args.num_of_DPT;
verbosePrint("%s() LN%d insertRows=%"PRId64"\n", verbosePrint("%s() LN%d insertRows=%"PRId64"\n",
...@@ -8181,7 +8194,7 @@ static void setParaFromArg() { ...@@ -8181,7 +8194,7 @@ static void setParaFromArg() {
} }
tstrncpy(g_Dbs.db[0].superTbls[0].startTimestamp, tstrncpy(g_Dbs.db[0].superTbls[0].startTimestamp,
"2017-07-14 10:40:00.000", MAX_TB_NAME_SIZE); "2017-07-14 10:40:00.000", MAX_TB_NAME_SIZE);
g_Dbs.db[0].superTbls[0].timeStampStep = DEFAULT_TIMESTAMP_STEP; g_Dbs.db[0].superTbls[0].timeStampStep = g_args.timestamp_step;
g_Dbs.db[0].superTbls[0].insertRows = g_args.num_of_DPT; g_Dbs.db[0].superTbls[0].insertRows = g_args.num_of_DPT;
g_Dbs.db[0].superTbls[0].maxSqlLen = g_args.max_sql_len; g_Dbs.db[0].superTbls[0].maxSqlLen = g_args.max_sql_len;
......
...@@ -600,7 +600,7 @@ static void parse_timestamp( ...@@ -600,7 +600,7 @@ static void parse_timestamp(
tmpEpoch = atoll(tmp); tmpEpoch = atoll(tmp);
} }
sprintf(argv[i], "%"PRId64"", tmpEpoch); sprintf(argv[i+1], "%"PRId64"", tmpEpoch);
debugPrint("%s() LN%d, tmp is: %s, argv[%d]: %s\n", debugPrint("%s() LN%d, tmp is: %s, argv[%d]: %s\n",
__func__, __LINE__, tmp, i, argv[i]); __func__, __LINE__, tmp, i, argv[i]);
free(tmp); free(tmp);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册