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

cherry pick from develop branch. (#8011)

上级 19aeb25a
...@@ -133,7 +133,7 @@ enum _describe_table_index { ...@@ -133,7 +133,7 @@ enum _describe_table_index {
typedef struct { typedef struct {
char field[TSDB_COL_NAME_LEN + 1]; char field[TSDB_COL_NAME_LEN + 1];
char type[32]; char type[16];
int length; int length;
char note[COL_NOTE_LEN]; char note[COL_NOTE_LEN];
} SColDes; } SColDes;
...@@ -386,6 +386,33 @@ struct arguments g_args = { ...@@ -386,6 +386,33 @@ struct arguments g_args = {
0, // dbCount 0, // dbCount
}; };
// get taosdump commit number version
#ifndef TAOSDUMP_COMMIT_SHA1
#define TAOSDUMP_COMMIT_SHA1 "unknown"
#endif
#ifndef TD_VERNUMBER
#define TD_VERNUMBER "unknown"
#endif
#ifndef TAOSDUMP_STATUS
#define TAOSDUMP_STATUS "unknown"
#endif
static void printVersion() {
char tdengine_ver[] = TD_VERNUMBER;
char taosdump_ver[] = TAOSDUMP_COMMIT_SHA1;
char taosdump_status[] = TAOSDUMP_STATUS;
if (strlen(taosdump_status) == 0) {
printf("taosdump version %s-%s\n",
tdengine_ver, taosdump_ver);
} else {
printf("taosdump version %s-%s, status:%s\n",
tdengine_ver, taosdump_ver, taosdump_status);
}
}
UNUSED_FUNC void errorWrongValue(char *program, char *wrong_arg, char *wrong_value) UNUSED_FUNC void errorWrongValue(char *program, char *wrong_arg, char *wrong_value)
{ {
fprintf(stderr, "%s %s: %s is an invalid value\n", program, wrong_arg, wrong_value); fprintf(stderr, "%s %s: %s is an invalid value\n", program, wrong_arg, wrong_value);
...@@ -673,6 +700,10 @@ static void parse_args( ...@@ -673,6 +700,10 @@ static void parse_args(
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
g_args.databases = true; g_args.databases = true;
} else if (0 == strncmp(argv[i], "--version", strlen("--version")) ||
0 == strncmp(argv[i], "-V", strlen("-V"))) {
printVersion();
exit(EXIT_SUCCESS);
} else { } else {
continue; continue;
} }
...@@ -1571,7 +1602,7 @@ static int taosGetTableDes( ...@@ -1571,7 +1602,7 @@ static int taosGetTableDes(
fields[TSDB_DESCRIBE_METRIC_FIELD_INDEX].bytes + 1)); fields[TSDB_DESCRIBE_METRIC_FIELD_INDEX].bytes + 1));
tstrncpy(stableDes->cols[count].type, tstrncpy(stableDes->cols[count].type,
(char *)row[TSDB_DESCRIBE_METRIC_TYPE_INDEX], (char *)row[TSDB_DESCRIBE_METRIC_TYPE_INDEX],
min(32, fields[TSDB_DESCRIBE_METRIC_TYPE_INDEX].bytes + 1)); min(16, fields[TSDB_DESCRIBE_METRIC_TYPE_INDEX].bytes + 1));
stableDes->cols[count].length = stableDes->cols[count].length =
*((int *)row[TSDB_DESCRIBE_METRIC_LENGTH_INDEX]); *((int *)row[TSDB_DESCRIBE_METRIC_LENGTH_INDEX]);
tstrncpy(stableDes->cols[count].note, tstrncpy(stableDes->cols[count].note,
...@@ -1642,18 +1673,6 @@ static int taosGetTableDes( ...@@ -1642,18 +1673,6 @@ static int taosGetTableDes(
case TSDB_DATA_TYPE_BIGINT: case TSDB_DATA_TYPE_BIGINT:
sprintf(stableDes->cols[i].note, "%" PRId64 "", *((int64_t *)row[0])); sprintf(stableDes->cols[i].note, "%" PRId64 "", *((int64_t *)row[0]));
break; break;
case TSDB_DATA_TYPE_UTINYINT:
sprintf(stableDes->cols[i].note, "%d", *((uint8_t *)row[0]));
break;
case TSDB_DATA_TYPE_USMALLINT:
sprintf(stableDes->cols[i].note, "%d", *((uint16_t *)row[0]));
break;
case TSDB_DATA_TYPE_UINT:
sprintf(stableDes->cols[i].note, "%" PRIu32 "", *((uint32_t *)row[0]));
break;
case TSDB_DATA_TYPE_UBIGINT:
sprintf(stableDes->cols[i].note, "%" PRIu64 "", *((uint64_t *)row[0]));
break;
case TSDB_DATA_TYPE_FLOAT: case TSDB_DATA_TYPE_FLOAT:
sprintf(stableDes->cols[i].note, "%f", GET_FLOAT_VAL(row[0])); sprintf(stableDes->cols[i].note, "%f", GET_FLOAT_VAL(row[0]));
break; break;
...@@ -2380,19 +2399,6 @@ static int64_t writeResultToSql(TAOS_RES *res, FILE *fp, char *dbName, char *tbN ...@@ -2380,19 +2399,6 @@ static int64_t writeResultToSql(TAOS_RES *res, FILE *fp, char *dbName, char *tbN
curr_sqlstr_len += sprintf(pstr + curr_sqlstr_len, "%" PRId64 "", curr_sqlstr_len += sprintf(pstr + curr_sqlstr_len, "%" PRId64 "",
*((int64_t *)row[col])); *((int64_t *)row[col]));
break; break;
case TSDB_DATA_TYPE_UTINYINT:
curr_sqlstr_len += sprintf(pstr + curr_sqlstr_len, "%d", *((uint8_t *)row[col]));
break;
case TSDB_DATA_TYPE_USMALLINT:
curr_sqlstr_len += sprintf(pstr + curr_sqlstr_len, "%d", *((uint16_t *)row[col]));
break;
case TSDB_DATA_TYPE_UINT:
curr_sqlstr_len += sprintf(pstr + curr_sqlstr_len, "%" PRIu32 "", *((uint32_t *)row[col]));
break;
case TSDB_DATA_TYPE_UBIGINT:
curr_sqlstr_len += sprintf(pstr + curr_sqlstr_len, "%" PRIu64 "",
*((uint64_t *)row[col]));
break;
case TSDB_DATA_TYPE_FLOAT: case TSDB_DATA_TYPE_FLOAT:
curr_sqlstr_len += sprintf(pstr + curr_sqlstr_len, "%f", GET_FLOAT_VAL(row[col])); curr_sqlstr_len += sprintf(pstr + curr_sqlstr_len, "%f", GET_FLOAT_VAL(row[col]));
break; break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册