提交 3c998629 编写于 作者: A Alex Duan

fix(shell): add help command and fixed fields auto fill

上级 c0edaaf7
......@@ -33,5 +33,7 @@ void shellAutoExit();
// callback autotab module
void callbackAutoTab(char* sqlstr, TAOS* pSql, bool usedb);
// show all commands help
void showHelp();
#endif
......@@ -1438,25 +1438,37 @@ bool matchSelectQuery(TAOS * con, Command * cmd) {
}
// if is input create fields or tags area, return true
bool isCreateFieldsArea(char * p) {
char * left = strrchr(p, '(');
bool isCreateFieldsArea(char* p) {
// put to while, support like create table st(ts timestamp, bin1 binary(16), bin2 + blank + TAB
char* p1 = strdup(p);
bool ret = false;
while (1) {
char* left = strrchr(p1, '(');
if (left == NULL) {
// like 'create table st'
return false;
ret = false;
break;
}
char * right = strrchr(p, ')');
if(right == NULL) {
char* right = strrchr(p1, ')');
if (right == NULL) {
// like 'create table st( '
return true;
ret = true;
break;
}
if (left > right) {
// like 'create table st( ts timestamp, age int) tags(area '
return true;
ret = true;
break;
}
return false;
// set string end by small for next strrchr search
*left = 0;
}
taosMemoryFree(p1);
return ret;
}
bool matchCreateTable(TAOS * con, Command * cmd) {
......
......@@ -216,6 +216,12 @@ int32_t shellRunCommand(TAOS* con, char* command) {
return 0;
}
// add help or help;
if (strcmp(command, "help") == 0 || strcmp(command, "help;") == 0) {
showHelp();
return 0;
}
/* Update the history vector. */
if (history.hstart == history.hend ||
history.hist[(history.hend + MAX_HISTORY_SIZE - 1) % MAX_HISTORY_SIZE] == NULL ||
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册