提交 b6e79b26 编写于 作者: H Hongze Cheng

Merge branch '3.0' of https://github.com/taosdata/TDengine into feat/row_refact

...@@ -87,11 +87,12 @@ static const SSysDbTableSchema userDBSchema[] = { ...@@ -87,11 +87,12 @@ static const SSysDbTableSchema userDBSchema[] = {
{.name = "wal", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT}, {.name = "wal", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT},
{.name = "fsync", .bytes = 4, .type = TSDB_DATA_TYPE_INT}, {.name = "fsync", .bytes = 4, .type = TSDB_DATA_TYPE_INT},
{.name = "comp", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT}, {.name = "comp", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT},
{.name = "cachelast", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT}, {.name = "cache_model", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT},
{.name = "precision", .bytes = 2 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, {.name = "precision", .bytes = 2 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR},
{.name = "single_stable", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT}, {.name = "single_stable_model", .bytes = 1, .type = TSDB_DATA_TYPE_BOOL},
{.name = "status", .bytes = 10 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR}, {.name = "status", .bytes = 10 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR},
{.name = "schemaless", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT}, {.name = "schemaless", .bytes = 1, .type = TSDB_DATA_TYPE_BOOL},
{.name = "retension", .bytes = 60 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR},
// {.name = "update", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT}, // disable update // {.name = "update", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT}, // disable update
}; };
......
...@@ -1431,6 +1431,52 @@ const char *mndGetDbStr(const char *src) { ...@@ -1431,6 +1431,52 @@ const char *mndGetDbStr(const char *src) {
return pos; return pos;
} }
int64_t getValOfDiffPrecision(int8_t unit, int64_t val) {
int64_t v = 0;
switch(unit) {
case 's': v = val / 1000; break;
case 'm': v = val / tsTickPerMin[TSDB_TIME_PRECISION_MILLI]; break;
case 'h': v = val / (tsTickPerMin[TSDB_TIME_PRECISION_MILLI] * 60); break;
case 'd': v = val / (tsTickPerMin[TSDB_TIME_PRECISION_MILLI] * 24 * 60); break;
case 'w': v = val / (tsTickPerMin[TSDB_TIME_PRECISION_MILLI] * 24 * 60 * 7); break;
default:
break;
}
return v;
}
char* buildRetension(SArray* pRetension) {
size_t size = taosArrayGetSize(pRetension);
if (size == 0) {
return NULL;
}
char* p1 = taosMemoryCalloc(1, 100);
SRetention* p = taosArrayGet(pRetension, 0);
int32_t len = 2;
int64_t v1 = getValOfDiffPrecision(p->freqUnit, p->freq);
int64_t v2 = getValOfDiffPrecision(p->keepUnit, p->keep);
len += sprintf(p1 + len, "%"PRId64"%c:%"PRId64"%c,", v1, p->freqUnit, v2, p->keepUnit);
p = taosArrayGet(pRetension, 1);
v1 = getValOfDiffPrecision(p->freqUnit, p->freq);
v2 = getValOfDiffPrecision(p->keepUnit, p->keep);
len += sprintf(p1 + len, "%"PRId64"%c:%"PRId64"%c,", v1, p->freqUnit, v2, p->keepUnit);
p = taosArrayGet(pRetension, 2);
v1 = getValOfDiffPrecision(p->freqUnit, p->freq);
v2 = getValOfDiffPrecision(p->keepUnit, p->keep);
len += sprintf(p1 + len, "%"PRId64"%c:%"PRId64"%c", v1, p->freqUnit, v2, p->keepUnit);
varDataSetLen(p1, len);
return p1;
}
static void dumpDbInfoData(SSDataBlock *pBlock, SDbObj *pDb, SShowObj *pShow, int32_t rows, int64_t numOfTables, static void dumpDbInfoData(SSDataBlock *pBlock, SDbObj *pDb, SShowObj *pShow, int32_t rows, int64_t numOfTables,
bool sysDb) { bool sysDb) {
int32_t cols = 0; int32_t cols = 0;
...@@ -1478,7 +1524,7 @@ static void dumpDbInfoData(SSDataBlock *pBlock, SDbObj *pDb, SShowObj *pShow, in ...@@ -1478,7 +1524,7 @@ static void dumpDbInfoData(SSDataBlock *pBlock, SDbObj *pDb, SShowObj *pShow, in
pColInfo = taosArrayGet(pBlock->pDataBlock, cols++); pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
colDataAppend(pColInfo, rows, (const char *)&pDb->cfg.replications, false); colDataAppend(pColInfo, rows, (const char *)&pDb->cfg.replications, false);
const char *src = pDb->cfg.strict ? "strict" : "nostrict"; const char *src = pDb->cfg.strict ? "strict" : "no_strict";
char strict[24] = {0}; char strict[24] = {0};
STR_WITH_SIZE_TO_VARSTR(strict, src, strlen(src)); STR_WITH_SIZE_TO_VARSTR(strict, src, strlen(src));
pColInfo = taosArrayGet(pBlock->pDataBlock, cols++); pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
...@@ -1526,7 +1572,21 @@ static void dumpDbInfoData(SSDataBlock *pBlock, SDbObj *pDb, SShowObj *pShow, in ...@@ -1526,7 +1572,21 @@ static void dumpDbInfoData(SSDataBlock *pBlock, SDbObj *pDb, SShowObj *pShow, in
colDataAppend(pColInfo, rows, (const char *)&pDb->cfg.compression, false); colDataAppend(pColInfo, rows, (const char *)&pDb->cfg.compression, false);
pColInfo = taosArrayGet(pBlock->pDataBlock, cols++); pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
colDataAppend(pColInfo, rows, (const char *)&pDb->cfg.cacheLastRow, false);
STR_WITH_SIZE_TO_VARSTR(strict, src, strlen(src));
#if 0
char cacheModel[24] = {0};
bool null = false;
if (pDb->cfg.cacheLastRow == 0) {
STR_TO_VARSTR(cacheModel, "no_cache");
} else if (pDb->cfg.cacheLastRow == 1) {
STR_TO_VARSTR(cacheModel, "last_row_cache")
} else {
null = true;
}
colDataAppend(pColInfo, rows, cacheModel, null);
#endif
colDataAppend(pColInfo, rows, (const char*) &pDb->cfg.cacheLastRow, false);
char *prec = NULL; char *prec = NULL;
switch (pDb->cfg.precision) { switch (pDb->cfg.precision) {
...@@ -1555,8 +1615,18 @@ static void dumpDbInfoData(SSDataBlock *pBlock, SDbObj *pDb, SShowObj *pShow, in ...@@ -1555,8 +1615,18 @@ static void dumpDbInfoData(SSDataBlock *pBlock, SDbObj *pDb, SShowObj *pShow, in
pColInfo = taosArrayGet(pBlock->pDataBlock, cols++); pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
colDataAppend(pColInfo, rows, (const char *)statusB, false); colDataAppend(pColInfo, rows, (const char *)statusB, false);
pColInfo = taosArrayGet(pBlock->pDataBlock, cols); pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
colDataAppend(pColInfo, rows, (const char *)&pDb->cfg.schemaless, false); colDataAppend(pColInfo, rows, (const char *)&pDb->cfg.schemaless, false);
char* p = buildRetension(pDb->cfg.pRetensions);
pColInfo = taosArrayGet(pBlock->pDataBlock, cols);
if (p == NULL) {
colDataAppendNULL(pColInfo, rows);
} else {
colDataAppend(pColInfo, rows, (const char *)p, false);
taosMemoryFree(p);
}
} }
} }
......
...@@ -89,7 +89,7 @@ endi ...@@ -89,7 +89,7 @@ endi
if $data4_db != 3 then # replica if $data4_db != 3 then # replica
return -1 return -1
endi endi
if $data5_db != nostrict then # strict if $data5_db != no_strict then # strict
return -1 return -1
endi endi
if $data6_db != 345600 then # days if $data6_db != 345600 then # days
......
...@@ -110,7 +110,7 @@ if $data4_db != 1 then # replica ...@@ -110,7 +110,7 @@ if $data4_db != 1 then # replica
print expect 1, actual: $data4_db print expect 1, actual: $data4_db
return -1 return -1
endi endi
if $data5_db != nostrict then # strict if $data5_db != no_strict then # strict
return -1 return -1
endi endi
if $data6_db != 14400 then # days if $data6_db != 14400 then # days
......
run tsim/user/pass_alter.sim #run tsim/user/pass_alter.sim
run tsim/user/basic1.sim #run tsim/user/basic1.sim
run tsim/user/privilege2.sim #run tsim/user/privilege2.sim
run tsim/user/user_len.sim #run tsim/user/user_len.sim
run tsim/user/privilege1.sim #run tsim/user/privilege1.sim
run tsim/user/pass_len.sim ##run tsim/user/pass_len.sim
run tsim/table/basic1.sim ##run tsim/table/basic1.sim
run tsim/trans/lossdata1.sim #run tsim/trans/lossdata1.sim
run tsim/trans/create_db.sim #run tsim/trans/create_db.sim
run tsim/stable/alter_metrics.sim ##run tsim/stable/alter_metrics.sim
run tsim/stable/tag_modify.sim ##run tsim/stable/tag_modify.sim
run tsim/stable/alter_comment.sim ##run tsim/stable/alter_comment.sim
run tsim/stable/column_drop.sim ##run tsim/stable/column_drop.sim
run tsim/stable/column_modify.sim ##run tsim/stable/column_modify.sim
run tsim/stable/tag_rename.sim ##run tsim/stable/tag_rename.sim
run tsim/stable/vnode3.sim ##run tsim/stable/vnode3.sim
run tsim/stable/metrics.sim ##run tsim/stable/metrics.sim
run tsim/stable/alter_insert2.sim ##run tsim/stable/alter_insert2.sim
run tsim/stable/show.sim ##run tsim/stable/show.sim
run tsim/stable/alter_import.sim ##run tsim/stable/alter_import.sim
run tsim/stable/tag_add.sim ##run tsim/stable/tag_add.sim
run tsim/stable/tag_drop.sim ##run tsim/stable/tag_drop.sim
run tsim/stable/column_add.sim ##run tsim/stable/column_add.sim
run tsim/stable/alter_count.sim ##run tsim/stable/alter_count.sim
run tsim/stable/values.sim ##run tsim/stable/values.sim
run tsim/stable/dnode3.sim ##run tsim/stable/dnode3.sim
run tsim/stable/alter_insert1.sim ##run tsim/stable/alter_insert1.sim
run tsim/stable/refcount.sim ##run tsim/stable/refcount.sim
run tsim/stable/disk.sim ##run tsim/stable/disk.sim
run tsim/db/basic1.sim #run tsim/db/basic1.sim
run tsim/db/basic3.sim #run tsim/db/basic3.sim
run tsim/db/basic7.sim ##run tsim/db/basic7.sim
run tsim/db/basic6.sim #run tsim/db/basic6.sim
run tsim/db/create_all_options.sim #run tsim/db/create_all_options.sim
run tsim/db/basic2.sim #run tsim/db/basic2.sim
run tsim/db/error1.sim #run tsim/db/error1.sim
run tsim/db/taosdlog.sim #run tsim/db/taosdlog.sim
run tsim/db/alter_option.sim #run tsim/db/alter_option.sim
run tsim/mnode/basic1.sim #run tsim/mnode/basic1.sim
run tsim/mnode/basic3.sim #run tsim/mnode/basic3.sim
run tsim/mnode/basic2.sim #run tsim/mnode/basic2.sim
run tsim/parser/fourArithmetic-basic.sim #run tsim/parser/fourArithmetic-basic.sim
run tsim/parser/groupby-basic.sim run tsim/parser/groupby-basic.sim
run tsim/snode/basic1.sim run tsim/snode/basic1.sim
run tsim/query/time_process.sim run tsim/query/time_process.sim
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册