未验证 提交 eed660cc 编写于 作者: S Shengliang Guan 提交者: GitHub

Merge pull request #1945 from taosdata/hotfix/dupname

Hotfix/dupname
...@@ -41,14 +41,13 @@ ...@@ -41,14 +41,13 @@
// dynamic config timestamp width according to maximum time precision // dynamic config timestamp width according to maximum time precision
extern int32_t TIMESTAMP_OUTPUT_LENGTH; extern int32_t TIMESTAMP_OUTPUT_LENGTH;
typedef struct History History; typedef struct SShellHistory {
struct History {
char* hist[MAX_HISTORY_SIZE]; char* hist[MAX_HISTORY_SIZE];
int hstart; int hstart;
int hend; int hend;
}; } SShellHistory;
struct arguments { typedef struct SShellArguments {
char* host; char* host;
char* password; char* password;
char* user; char* user;
...@@ -62,11 +61,11 @@ struct arguments { ...@@ -62,11 +61,11 @@ struct arguments {
char* commands; char* commands;
int abort; int abort;
int port; int port;
}; } SShellArguments;
/**************** Function declarations ****************/ /**************** Function declarations ****************/
extern void shellParseArgument(int argc, char* argv[], struct arguments* arguments); extern void shellParseArgument(int argc, char* argv[], SShellArguments* arguments);
extern TAOS* shellInit(struct arguments* args); extern TAOS* shellInit(SShellArguments* args);
extern void* shellLoopQuery(void* arg); extern void* shellLoopQuery(void* arg);
extern void taos_error(TAOS* con); extern void taos_error(TAOS* con);
extern int regex_match(const char* s, const char* reg, int cflags); extern int regex_match(const char* s, const char* reg, int cflags);
...@@ -76,7 +75,7 @@ void shellRunCommandOnServer(TAOS* con, char command[]); ...@@ -76,7 +75,7 @@ void shellRunCommandOnServer(TAOS* con, char command[]);
void read_history(); void read_history();
void write_history(); void write_history();
void source_file(TAOS* con, char* fptr); void source_file(TAOS* con, char* fptr);
void source_dir(TAOS* con, struct arguments* args); void source_dir(TAOS* con, SShellArguments* args);
void get_history_path(char* history); void get_history_path(char* history);
void cleanup_handler(void* arg); void cleanup_handler(void* arg);
void exitShell(); void exitShell();
...@@ -89,12 +88,12 @@ int isCommentLine(char *line); ...@@ -89,12 +88,12 @@ int isCommentLine(char *line);
extern char PROMPT_HEADER[]; extern char PROMPT_HEADER[];
extern char CONTINUE_PROMPT[]; extern char CONTINUE_PROMPT[];
extern int prompt_size; extern int prompt_size;
extern History history; extern SShellHistory history;
extern struct termios oldtio; extern struct termios oldtio;
extern void set_terminal_mode(); extern void set_terminal_mode();
extern int get_old_terminal_mode(struct termios* tio); extern int get_old_terminal_mode(struct termios* tio);
extern void reset_terminal_mode(); extern void reset_terminal_mode();
extern struct arguments args; extern SShellArguments args;
extern TAOS_RES* result; extern TAOS_RES* result;
#endif #endif
...@@ -33,12 +33,12 @@ char PROMPT_HEADER[] = "taos> "; ...@@ -33,12 +33,12 @@ char PROMPT_HEADER[] = "taos> ";
char CONTINUE_PROMPT[] = " -> "; char CONTINUE_PROMPT[] = " -> ";
int prompt_size = 6; int prompt_size = 6;
TAOS_RES *result = NULL; TAOS_RES *result = NULL;
History history; SShellHistory history;
/* /*
* FUNCTION: Initialize the shell. * FUNCTION: Initialize the shell.
*/ */
TAOS *shellInit(struct arguments *args) { TAOS *shellInit(SShellArguments *args) {
printf("\n"); printf("\n");
printf(CLIENT_VERSION, tsOsName, taos_get_client_info()); printf(CLIENT_VERSION, tsOsName, taos_get_client_info());
fflush(stdout); fflush(stdout);
......
...@@ -221,7 +221,7 @@ void* shellImportThreadFp(void *arg) ...@@ -221,7 +221,7 @@ void* shellImportThreadFp(void *arg)
return NULL; return NULL;
} }
static void shellRunImportThreads(struct arguments* args) static void shellRunImportThreads(SShellArguments* args)
{ {
pthread_attr_t thattr; pthread_attr_t thattr;
ShellThreadObj *threadObj = (ShellThreadObj *)calloc(args->threadNum, sizeof(ShellThreadObj)); ShellThreadObj *threadObj = (ShellThreadObj *)calloc(args->threadNum, sizeof(ShellThreadObj));
...@@ -254,7 +254,7 @@ static void shellRunImportThreads(struct arguments* args) ...@@ -254,7 +254,7 @@ static void shellRunImportThreads(struct arguments* args)
free(threadObj); free(threadObj);
} }
void source_dir(TAOS* con, struct arguments* args) { void source_dir(TAOS* con, SShellArguments* args) {
shellGetDirectoryFileList(args->dir); shellGetDirectoryFileList(args->dir);
int64_t start = taosGetTimestampMs(); int64_t start = taosGetTimestampMs();
......
...@@ -50,7 +50,7 @@ static struct argp_option options[] = { ...@@ -50,7 +50,7 @@ static struct argp_option options[] = {
static error_t parse_opt(int key, char *arg, struct argp_state *state) { static error_t parse_opt(int key, char *arg, struct argp_state *state) {
/* Get the input argument from argp_parse, which we /* Get the input argument from argp_parse, which we
know is a pointer to our arguments structure. */ know is a pointer to our arguments structure. */
struct arguments *arguments = state->input; SShellArguments *arguments = state->input;
wordexp_t full_path; wordexp_t full_path;
switch (key) { switch (key) {
...@@ -129,7 +129,7 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state) { ...@@ -129,7 +129,7 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state) {
/* Our argp parser. */ /* Our argp parser. */
static struct argp argp = {options, parse_opt, args_doc, doc}; static struct argp argp = {options, parse_opt, args_doc, doc};
void shellParseArgument(int argc, char *argv[], struct arguments *arguments) { void shellParseArgument(int argc, char *argv[], SShellArguments *arguments) {
static char verType[32] = {0}; static char verType[32] = {0};
sprintf(verType, "version: %s\n", version); sprintf(verType, "version: %s\n", version);
......
...@@ -62,7 +62,7 @@ int checkVersion() { ...@@ -62,7 +62,7 @@ int checkVersion() {
} }
// Global configurations // Global configurations
struct arguments args = { SShellArguments args = {
.host = NULL, .host = NULL,
.password = NULL, .password = NULL,
.user = NULL, .user = NULL,
......
...@@ -67,7 +67,7 @@ static struct argp_option options[] = { ...@@ -67,7 +67,7 @@ static struct argp_option options[] = {
{0}}; {0}};
/* Used by main to communicate with parse_opt. */ /* Used by main to communicate with parse_opt. */
struct arguments { typedef struct DemoArguments {
char *host; char *host;
uint16_t port; uint16_t port;
char *user; char *user;
...@@ -87,13 +87,13 @@ struct arguments { ...@@ -87,13 +87,13 @@ struct arguments {
int num_of_DPT; int num_of_DPT;
int abort; int abort;
char **arg_list; char **arg_list;
}; } SDemoArguments;
/* Parse a single option. */ /* Parse a single option. */
static error_t parse_opt(int key, char *arg, struct argp_state *state) { static error_t parse_opt(int key, char *arg, struct argp_state *state) {
/* Get the input argument from argp_parse, which we /* Get the input argument from argp_parse, which we
know is a pointer to our arguments structure. */ know is a pointer to our arguments structure. */
struct arguments *arguments = state->input; SDemoArguments *arguments = state->input;
wordexp_t full_path; wordexp_t full_path;
char **sptr; char **sptr;
switch (key) { switch (key) {
...@@ -269,7 +269,7 @@ double getCurrentTime(); ...@@ -269,7 +269,7 @@ double getCurrentTime();
void callBack(void *param, TAOS_RES *res, int code); void callBack(void *param, TAOS_RES *res, int code);
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
struct arguments arguments = {NULL, // host SDemoArguments arguments = {NULL, // host
0, // port 0, // port
"root", // user "root", // user
"taosdata", // password "taosdata", // password
......
...@@ -168,7 +168,7 @@ static struct argp_option options[] = { ...@@ -168,7 +168,7 @@ static struct argp_option options[] = {
{0}}; {0}};
/* Used by main to communicate with parse_opt. */ /* Used by main to communicate with parse_opt. */
struct arguments { typedef struct SDumpArguments {
// connection option // connection option
char *host; char *host;
char *user; char *user;
...@@ -193,13 +193,13 @@ struct arguments { ...@@ -193,13 +193,13 @@ struct arguments {
char **arg_list; char **arg_list;
int arg_list_len; int arg_list_len;
bool isDumpIn; bool isDumpIn;
}; } SDumpArguments;
/* Parse a single option. */ /* Parse a single option. */
static error_t parse_opt(int key, char *arg, struct argp_state *state) { static error_t parse_opt(int key, char *arg, struct argp_state *state) {
/* Get the input argument from argp_parse, which we /* Get the input argument from argp_parse, which we
know is a pointer to our arguments structure. */ know is a pointer to our arguments structure. */
struct arguments *arguments = state->input; SDumpArguments *arguments = state->input;
wordexp_t full_path; wordexp_t full_path;
switch (key) { switch (key) {
...@@ -296,31 +296,31 @@ char *command = NULL; ...@@ -296,31 +296,31 @@ char *command = NULL;
char *lcommand = NULL; char *lcommand = NULL;
char *buffer = NULL; char *buffer = NULL;
int taosDumpOut(struct arguments *arguments); int taosDumpOut(SDumpArguments *arguments);
int taosDumpIn(struct arguments *arguments); int taosDumpIn(SDumpArguments *arguments);
void taosDumpCreateDbClause(SDbInfo *dbInfo, bool isDumpProperty, FILE *fp); void taosDumpCreateDbClause(SDbInfo *dbInfo, bool isDumpProperty, FILE *fp);
int taosDumpDb(SDbInfo *dbInfo, struct arguments *arguments, FILE *fp); int taosDumpDb(SDbInfo *dbInfo, SDumpArguments *arguments, FILE *fp);
void taosDumpCreateTableClause(STableDef *tableDes, int numOfCols, struct arguments *arguments, FILE *fp); void taosDumpCreateTableClause(STableDef *tableDes, int numOfCols, SDumpArguments *arguments, FILE *fp);
void taosDumpCreateMTableClause(STableDef *tableDes, char *metric, int numOfCols, struct arguments *arguments, void taosDumpCreateMTableClause(STableDef *tableDes, char *metric, int numOfCols, SDumpArguments *arguments,
FILE *fp); FILE *fp);
int32_t taosDumpTable(char *table, char *metric, struct arguments *arguments, FILE *fp); int32_t taosDumpTable(char *table, char *metric, SDumpArguments *arguments, FILE *fp);
int32_t taosDumpMetric(char *metric, struct arguments *arguments, FILE *fp); int32_t taosDumpMetric(char *metric, SDumpArguments *arguments, FILE *fp);
int taosDumpTableData(FILE *fp, char *tbname, struct arguments *arguments); int taosDumpTableData(FILE *fp, char *tbname, SDumpArguments *arguments);
int taosCheckParam(struct arguments *arguments); int taosCheckParam(SDumpArguments *arguments);
void taosFreeDbInfos(); void taosFreeDbInfos();
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
struct arguments arguments = { SDumpArguments arguments = {
// connection option // connection option
NULL, "root", "taosdata", 0, NULL, "root", "taosdata", 0,
// output file // output file
...@@ -424,7 +424,7 @@ int taosGetTableRecordInfo(char *table, STableRecordInfo *pTableRecordInfo) { ...@@ -424,7 +424,7 @@ int taosGetTableRecordInfo(char *table, STableRecordInfo *pTableRecordInfo) {
return -1; return -1;
} }
int taosDumpOut(struct arguments *arguments) { int taosDumpOut(SDumpArguments *arguments) {
TAOS_ROW row; TAOS_ROW row;
char *temp = NULL; char *temp = NULL;
FILE *fp = NULL; FILE *fp = NULL;
...@@ -602,7 +602,7 @@ void taosDumpCreateDbClause(SDbInfo *dbInfo, bool isDumpProperty, FILE *fp) { ...@@ -602,7 +602,7 @@ void taosDumpCreateDbClause(SDbInfo *dbInfo, bool isDumpProperty, FILE *fp) {
fprintf(fp, "%s\n\n", buffer); fprintf(fp, "%s\n\n", buffer);
} }
int taosDumpDb(SDbInfo *dbInfo, struct arguments *arguments, FILE *fp) { int taosDumpDb(SDbInfo *dbInfo, SDumpArguments *arguments, FILE *fp) {
TAOS_ROW row; TAOS_ROW row;
int fd = -1; int fd = -1;
STableRecord tableRecord; STableRecord tableRecord;
...@@ -660,7 +660,7 @@ int taosDumpDb(SDbInfo *dbInfo, struct arguments *arguments, FILE *fp) { ...@@ -660,7 +660,7 @@ int taosDumpDb(SDbInfo *dbInfo, struct arguments *arguments, FILE *fp) {
return 0; return 0;
} }
void taosDumpCreateTableClause(STableDef *tableDes, int numOfCols, struct arguments *arguments, FILE *fp) { void taosDumpCreateTableClause(STableDef *tableDes, int numOfCols, SDumpArguments *arguments, FILE *fp) {
char *pstr = NULL; char *pstr = NULL;
pstr = buffer; pstr = buffer;
int counter = 0; int counter = 0;
...@@ -703,7 +703,7 @@ void taosDumpCreateTableClause(STableDef *tableDes, int numOfCols, struct argume ...@@ -703,7 +703,7 @@ void taosDumpCreateTableClause(STableDef *tableDes, int numOfCols, struct argume
fprintf(fp, "%s\n\n", buffer); fprintf(fp, "%s\n\n", buffer);
} }
void taosDumpCreateMTableClause(STableDef *tableDes, char *metric, int numOfCols, struct arguments *arguments, void taosDumpCreateMTableClause(STableDef *tableDes, char *metric, int numOfCols, SDumpArguments *arguments,
FILE *fp) { FILE *fp) {
char *pstr = NULL; char *pstr = NULL;
pstr = buffer; pstr = buffer;
...@@ -786,7 +786,7 @@ int taosGetTableDes(char *table, STableDef *tableDes) { ...@@ -786,7 +786,7 @@ int taosGetTableDes(char *table, STableDef *tableDes) {
return count; return count;
} }
int32_t taosDumpTable(char *table, char *metric, struct arguments *arguments, FILE *fp) { int32_t taosDumpTable(char *table, char *metric, SDumpArguments *arguments, FILE *fp) {
int count = 0; int count = 0;
STableDef *tableDes = (STableDef *)calloc(1, sizeof(STableDef) + sizeof(SColDes) * TSDB_MAX_COLUMNS); STableDef *tableDes = (STableDef *)calloc(1, sizeof(STableDef) + sizeof(SColDes) * TSDB_MAX_COLUMNS);
...@@ -828,7 +828,7 @@ int32_t taosDumpTable(char *table, char *metric, struct arguments *arguments, FI ...@@ -828,7 +828,7 @@ int32_t taosDumpTable(char *table, char *metric, struct arguments *arguments, FI
return taosDumpTableData(fp, table, arguments); return taosDumpTableData(fp, table, arguments);
} }
int32_t taosDumpMetric(char *metric, struct arguments *arguments, FILE *fp) { int32_t taosDumpMetric(char *metric, SDumpArguments *arguments, FILE *fp) {
TAOS_ROW row = NULL; TAOS_ROW row = NULL;
int fd = -1; int fd = -1;
STableRecord tableRecord; STableRecord tableRecord;
...@@ -877,7 +877,7 @@ int32_t taosDumpMetric(char *metric, struct arguments *arguments, FILE *fp) { ...@@ -877,7 +877,7 @@ int32_t taosDumpMetric(char *metric, struct arguments *arguments, FILE *fp) {
return 0; return 0;
} }
int taosDumpTableData(FILE *fp, char *tbname, struct arguments *arguments) { int taosDumpTableData(FILE *fp, char *tbname, SDumpArguments *arguments) {
/* char temp[MAX_COMMAND_SIZE] = "\0"; */ /* char temp[MAX_COMMAND_SIZE] = "\0"; */
int count = 0; int count = 0;
char *pstr = NULL; char *pstr = NULL;
...@@ -987,7 +987,7 @@ int taosDumpTableData(FILE *fp, char *tbname, struct arguments *arguments) { ...@@ -987,7 +987,7 @@ int taosDumpTableData(FILE *fp, char *tbname, struct arguments *arguments) {
return 0; return 0;
} }
int taosCheckParam(struct arguments *arguments) { int taosCheckParam(SDumpArguments *arguments) {
if (arguments->all_databases && arguments->databases) { if (arguments->all_databases && arguments->databases) {
fprintf(stderr, "conflict option --all-databases and --databases\n"); fprintf(stderr, "conflict option --all-databases and --databases\n");
return -1; return -1;
...@@ -1072,7 +1072,7 @@ void taosReplaceCtrlChar(char *str) { ...@@ -1072,7 +1072,7 @@ void taosReplaceCtrlChar(char *str) {
*pstr = '\0'; *pstr = '\0';
} }
int taosDumpIn(struct arguments *arguments) { int taosDumpIn(SDumpArguments *arguments) {
assert(arguments->isDumpIn); assert(arguments->isDumpIn);
int tsize = 0; int tsize = 0;
......
...@@ -214,12 +214,12 @@ typedef struct { ...@@ -214,12 +214,12 @@ typedef struct {
int64_t tombSize; // unused file size int64_t tombSize; // unused file size
int32_t totalBlocks; int32_t totalBlocks;
int32_t totalSubBlocks; int32_t totalSubBlocks;
} SFileInfo; } STsdbFileInfo;
typedef struct { typedef struct {
int fd; int fd;
char fname[128]; char fname[128];
SFileInfo info; STsdbFileInfo info;
} SFile; } SFile;
#define TSDB_IS_FILE_OPENED(f) ((f)->fd != -1) #define TSDB_IS_FILE_OPENED(f) ((f)->fd != -1)
...@@ -350,7 +350,7 @@ SFileGroup *tsdbSearchFGroup(STsdbFileH *pFileH, int fid); ...@@ -350,7 +350,7 @@ SFileGroup *tsdbSearchFGroup(STsdbFileH *pFileH, int fid);
void tsdbGetKeyRangeOfFileId(int32_t daysPerFile, int8_t precision, int32_t fileId, TSKEY *minKey, TSKEY *maxKey); void tsdbGetKeyRangeOfFileId(int32_t daysPerFile, int8_t precision, int32_t fileId, TSKEY *minKey, TSKEY *maxKey);
// TSDB repository definition // TSDB repository definition
typedef struct _tsdb_repo { typedef struct STsdbRepo {
char *rootDir; char *rootDir;
// TSDB configuration // TSDB configuration
STsdbCfg config; STsdbCfg config;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册