diff --git a/src/client/src/tscLocal.c b/src/client/src/tscLocal.c index 85c2215a2e71746889403e60ed09279e64574750..bb3792850620b0a07ca599cef42906a6854a368a 100644 --- a/src/client/src/tscLocal.c +++ b/src/client/src/tscLocal.c @@ -485,7 +485,26 @@ static int32_t tscGetDBInfo(SCreateBuilder *builder, char *result) { if (row == NULL) { return TSDB_CODE_TSC_DB_NOT_SELECTED; } - const char *showColumns[] = {"REPLICA", "QUORUM", "DAYS", "KEEP", "BLOCKS", NULL}; + const char *showColumns[][2] = { + {"REPLICA", "REPLICA"}, + {"QUORUM", "QUORUM"}, + {"DAYS", "DAYS"}, +#ifdef _STORAGE + {"KEEP0,KEEP1,KEEP2", "KEEP"}, +#else + {"KEEP", "KEEP"}, +#endif + {"CACHE(MB)", "CACHE"}, + {"BLOCKS", "BLOCKS"}, + {"MINROWS", "MINROWS"}, + {"MAXROWS", "MAXROWS"}, + {"WALLEVEL", "WAL"}, + {"FSYNC", "FSYNC"}, + {"COMP", "COMP"}, + {"CACHELAST", "CACHELAST"}, + {"PRECISION", "PRECISION"}, + {"UPDATE", "UPDATE"}, + {NULL, NULL}}; SSqlObj *pSql = builder->pInterSql; TAOS_FIELD *fields = taos_fetch_fields(pSql); @@ -499,12 +518,16 @@ static int32_t tscGetDBInfo(SCreateBuilder *builder, char *result) { if (0 == ret && STR_NOCASE_EQUAL(buf, strlen(buf), builder->buf, strlen(builder->buf))) { snprintf(result + strlen(result), TSDB_MAX_BINARY_LEN - strlen(result), "CREATE DATABASE %s", buf); for (int i = 1; i < num_fields; i++) { - for (int j = 0; showColumns[j] != NULL; j++) { - if (STR_NOCASE_EQUAL(fields[i].name, strlen(fields[i].name), showColumns[j], strlen(showColumns[j]))) { + for (int j = 0; showColumns[j][0] != NULL; j++) { + if (STR_NOCASE_EQUAL(fields[i].name, strlen(fields[i].name), showColumns[j][0], strlen(showColumns[j][0]))) { memset(buf, 0, sizeof(buf)); ret = tscGetNthFieldResult(row, fields, lengths, i, buf); if (ret == 0) { - snprintf(result + strlen(result), TSDB_MAX_BINARY_LEN - strlen(result), " %s %s", showColumns[j], buf); + if (STR_NOCASE_EQUAL(showColumns[j][0], strlen(showColumns[j][0]), "PRECISION", strlen("PRECISION"))) { + snprintf(result + strlen(result), TSDB_MAX_BINARY_LEN - strlen(result), " %s '%s'", showColumns[j][1], buf); + } else { + snprintf(result + strlen(result), TSDB_MAX_BINARY_LEN - strlen(result), " %s %s", showColumns[j][1], buf); + } } } }