“c2e91fcb7517d79257e7185e56a763f3f10c8024”上不存在“source/libs/planner/inc/plannerUtil.h”
提交 524245bb 编写于 作者: sangshuduo's avatar sangshuduo

[TD-10530]<fix>: taosdump infinite loop

query table des fail on normal table.
and value is NULL.
上级 1006aeea
...@@ -1149,6 +1149,10 @@ static int64_t dumpNormalTable( ...@@ -1149,6 +1149,10 @@ static int64_t dumpNormalTable(
colCount = getTableDes(dbName, tbName, tableDes, false); colCount = getTableDes(dbName, tbName, tableDes, false);
if (colCount < 0) { if (colCount < 0) {
errorPrint("%s() LN%d, failed to get table[%s] schema\n",
__func__,
__LINE__,
tbName);
free(tableDes); free(tableDes);
return -1; return -1;
} }
...@@ -1160,6 +1164,10 @@ static int64_t dumpNormalTable( ...@@ -1160,6 +1164,10 @@ static int64_t dumpNormalTable(
colCount = getTableDes(dbName, tbName, tableDes, false); colCount = getTableDes(dbName, tbName, tableDes, false);
if (colCount < 0) { if (colCount < 0) {
errorPrint("%s() LN%d, failed to get table[%s] schema\n",
__func__,
__LINE__,
tbName);
free(tableDes); free(tableDes);
return -1; return -1;
} }
...@@ -1172,6 +1180,9 @@ static int64_t dumpNormalTable( ...@@ -1172,6 +1180,9 @@ static int64_t dumpNormalTable(
if (g_args.avro) { if (g_args.avro) {
if (0 != convertTbDesToAvroSchema( if (0 != convertTbDesToAvroSchema(
dbName, tbName, tableDes, colCount, &jsonAvroSchema)) { dbName, tbName, tableDes, colCount, &jsonAvroSchema)) {
errorPrint("%s() LN%d, convertTbDesToAvroSchema failed\n",
__func__,
__LINE__);
freeTbDes(tableDes); freeTbDes(tableDes);
return -1; return -1;
} }
...@@ -1281,20 +1292,23 @@ static void *dumpNtbOfDb(void *arg) { ...@@ -1281,20 +1292,23 @@ static void *dumpNtbOfDb(void *arg) {
return NULL; return NULL;
} }
int64_t count;
for (int64_t i = 0; i < pThreadInfo->tablesOfDumpOut; i++) { for (int64_t i = 0; i < pThreadInfo->tablesOfDumpOut; i++) {
debugPrint("[%d] No.\t%"PRId64" table name: %s\n", debugPrint("[%d] No.\t%"PRId64" table name: %s\n",
pThreadInfo->threadIndex, i, pThreadInfo->threadIndex, i,
((TableInfo *)(g_tablesList + pThreadInfo->tableFrom+i))->name); ((TableInfo *)(g_tablesList + pThreadInfo->tableFrom+i))->name);
dumpNormalTable( count = dumpNormalTable(
pThreadInfo->dbName, pThreadInfo->dbName,
((TableInfo *)(g_tablesList + pThreadInfo->tableFrom+i))->stable, ((TableInfo *)(g_tablesList + pThreadInfo->tableFrom+i))->stable,
((TableInfo *)(g_tablesList + pThreadInfo->tableFrom+i))->name, ((TableInfo *)(g_tablesList + pThreadInfo->tableFrom+i))->name,
pThreadInfo->precision, pThreadInfo->precision,
fp); fp);
if (count < 0) {
break;
}
} }
fclose(fp); fclose(fp);
return NULL; return NULL;
} }
...@@ -1340,16 +1354,20 @@ static void *dumpNormalTablesOfStb(void *arg) { ...@@ -1340,16 +1354,20 @@ static void *dumpNormalTablesOfStb(void *arg) {
TAOS_ROW row = NULL; TAOS_ROW row = NULL;
int64_t i = 0; int64_t i = 0;
int64_t count;
while((row = taos_fetch_row(res)) != NULL) { while((row = taos_fetch_row(res)) != NULL) {
debugPrint("[%d] sub table %"PRId64": name: %s\n", debugPrint("[%d] sub table %"PRId64": name: %s\n",
pThreadInfo->threadIndex, i++, (char *)row[TSDB_SHOW_TABLES_NAME_INDEX]); pThreadInfo->threadIndex, i++, (char *)row[TSDB_SHOW_TABLES_NAME_INDEX]);
dumpNormalTable( count = dumpNormalTable(
pThreadInfo->dbName, pThreadInfo->dbName,
pThreadInfo->stbName, pThreadInfo->stbName,
(char *)row[TSDB_SHOW_TABLES_NAME_INDEX], (char *)row[TSDB_SHOW_TABLES_NAME_INDEX],
pThreadInfo->precision, pThreadInfo->precision,
fp); fp);
if (count < 0) {
break;
}
} }
fclose(fp); fclose(fp);
...@@ -2006,9 +2024,9 @@ static int getTableDes( ...@@ -2006,9 +2024,9 @@ static int getTableDes(
if (row[TSDB_SHOW_TABLES_NAME_INDEX] == NULL) { if (row[TSDB_SHOW_TABLES_NAME_INDEX] == NULL) {
sprintf(tableDes->cols[i].note, "%s", "NUL"); sprintf(tableDes->cols[i].note, "%s", "NUL");
sprintf(tableDes->cols[i].value, "%s", "NULL");
taos_free_result(res); taos_free_result(res);
res = NULL; res = NULL;
taos_close(taos);
continue; continue;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册