fix: database options 'strict' and 'cachelast' syntax adjustments
This commit is contained in:
parent
9ea0e84081
commit
7c585d8ed9
|
@ -79,8 +79,8 @@
|
|||
#define TK_NOT 61
|
||||
#define TK_EXISTS 62
|
||||
#define TK_BUFFER 63
|
||||
#define TK_CACHELAST 64
|
||||
#define TK_CACHELASTSIZE 65
|
||||
#define TK_CACHEMODEL 64
|
||||
#define TK_CACHESIZE 65
|
||||
#define TK_COMP 66
|
||||
#define TK_DURATION 67
|
||||
#define TK_NK_VARIABLE 68
|
||||
|
|
|
@ -51,7 +51,8 @@ extern "C" {
|
|||
typedef struct SDatabaseOptions {
|
||||
ENodeType type;
|
||||
int32_t buffer;
|
||||
int8_t cacheLast;
|
||||
char cacheModelStr[TSDB_CACHE_MODEL_STR_LEN];
|
||||
int8_t cacheModel;
|
||||
int32_t cacheLastSize;
|
||||
int8_t compressionLevel;
|
||||
int32_t daysPerFile;
|
||||
|
@ -66,6 +67,7 @@ typedef struct SDatabaseOptions {
|
|||
char precisionStr[3];
|
||||
int8_t precision;
|
||||
int8_t replica;
|
||||
char strictStr[TSDB_DB_STRICT_STR_LEN];
|
||||
int8_t strict;
|
||||
int8_t walLevel;
|
||||
int32_t numOfVgroups;
|
||||
|
|
|
@ -108,7 +108,8 @@ extern const int32_t TYPE_BYTES[16];
|
|||
#define TSDB_INS_USER_STABLES_DBNAME_COLID 2
|
||||
|
||||
#define TSDB_TICK_PER_SECOND(precision) \
|
||||
((int64_t)((precision) == TSDB_TIME_PRECISION_MILLI ? 1000LL \
|
||||
((int64_t)((precision) == TSDB_TIME_PRECISION_MILLI \
|
||||
? 1000LL \
|
||||
: ((precision) == TSDB_TIME_PRECISION_MICRO ? 1000000LL : 1000000000LL)))
|
||||
|
||||
#define T_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
|
||||
|
@ -328,15 +329,25 @@ typedef enum ELogicConditionType {
|
|||
#define TSDB_MIN_DB_REPLICA 1
|
||||
#define TSDB_MAX_DB_REPLICA 3
|
||||
#define TSDB_DEFAULT_DB_REPLICA 1
|
||||
#define TSDB_DB_STRICT_STR_LEN sizeof(TSDB_DB_STRICT_OFF_STR)
|
||||
#define TSDB_DB_STRICT_OFF_STR "off"
|
||||
#define TSDB_DB_STRICT_ON_STR "on"
|
||||
#define TSDB_DB_STRICT_OFF 0
|
||||
#define TSDB_DB_STRICT_ON 1
|
||||
#define TSDB_DEFAULT_DB_STRICT 0
|
||||
#define TSDB_MIN_DB_CACHE_LAST 0
|
||||
#define TSDB_MAX_DB_CACHE_LAST 3
|
||||
#define TSDB_DEFAULT_CACHE_LAST 0
|
||||
#define TSDB_MIN_DB_CACHE_LAST_SIZE 1 // MB
|
||||
#define TSDB_MAX_DB_CACHE_LAST_SIZE 65536
|
||||
#define TSDB_DEFAULT_CACHE_LAST_SIZE 1
|
||||
#define TSDB_DEFAULT_DB_STRICT TSDB_DB_STRICT_OFF
|
||||
#define TSDB_CACHE_MODEL_STR_LEN sizeof(TSDB_CACHE_MODEL_LAST_VALUE_STR)
|
||||
#define TSDB_CACHE_MODEL_NONE_STR "none"
|
||||
#define TSDB_CACHE_MODEL_LAST_ROW_STR "last_row"
|
||||
#define TSDB_CACHE_MODEL_LAST_VALUE_STR "last_value"
|
||||
#define TSDB_CACHE_MODEL_BOTH_STR "both"
|
||||
#define TSDB_CACHE_MODEL_NONE 0
|
||||
#define TSDB_CACHE_MODEL_LAST_ROW 1
|
||||
#define TSDB_CACHE_MODEL_LAST_VALUE 2
|
||||
#define TSDB_CACHE_MODEL_BOTH 3
|
||||
#define TSDB_DEFAULT_CACHE_MODEL TSDB_CACHE_MODEL_NONE
|
||||
#define TSDB_MIN_DB_CACHE_SIZE 1 // MB
|
||||
#define TSDB_MAX_DB_CACHE_SIZE 65536
|
||||
#define TSDB_DEFAULT_CACHE_SIZE 1
|
||||
#define TSDB_DB_STREAM_MODE_OFF 0
|
||||
#define TSDB_DB_STREAM_MODE_ON 1
|
||||
#define TSDB_DEFAULT_DB_STREAM_MODE 0
|
||||
|
|
|
@ -76,7 +76,7 @@ static const SSysDbTableSchema userDBSchema[] = {
|
|||
{.name = "vgroups", .bytes = 2, .type = TSDB_DATA_TYPE_SMALLINT},
|
||||
{.name = "ntables", .bytes = 8, .type = TSDB_DATA_TYPE_BIGINT},
|
||||
{.name = "replica", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT},
|
||||
{.name = "strict", .bytes = 9 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR},
|
||||
{.name = "strict", .bytes = TSDB_DB_STRICT_STR_LEN + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR},
|
||||
{.name = "duration", .bytes = 10 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR},
|
||||
{.name = "keep", .bytes = 32 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR},
|
||||
{.name = "buffer", .bytes = 4, .type = TSDB_DATA_TYPE_INT},
|
||||
|
@ -87,9 +87,9 @@ static const SSysDbTableSchema userDBSchema[] = {
|
|||
{.name = "wal", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT},
|
||||
{.name = "fsync", .bytes = 4, .type = TSDB_DATA_TYPE_INT},
|
||||
{.name = "comp", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT},
|
||||
{.name = "cache_model", .bytes = 1, .type = TSDB_DATA_TYPE_TINYINT},
|
||||
{.name = "cacheModel", .bytes = TSDB_CACHE_MODEL_STR_LEN + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR},
|
||||
{.name = "precision", .bytes = 2 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR},
|
||||
{.name = "single_stable_model", .bytes = 1, .type = TSDB_DATA_TYPE_BOOL},
|
||||
{.name = "single_stable", .bytes = 1, .type = TSDB_DATA_TYPE_BOOL},
|
||||
{.name = "status", .bytes = 10 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR},
|
||||
// {.name = "schemaless", .bytes = 1, .type = TSDB_DATA_TYPE_BOOL},
|
||||
{.name = "retention", .bytes = 60 + VARSTR_HEADER_SIZE, .type = TSDB_DATA_TYPE_VARCHAR},
|
||||
|
|
|
@ -293,7 +293,7 @@ static int32_t mndCheckDbCfg(SMnode *pMnode, SDbCfg *pCfg) {
|
|||
if (pCfg->buffer < TSDB_MIN_BUFFER_PER_VNODE || pCfg->buffer > TSDB_MAX_BUFFER_PER_VNODE) return -1;
|
||||
if (pCfg->pageSize < TSDB_MIN_PAGESIZE_PER_VNODE || pCfg->pageSize > TSDB_MAX_PAGESIZE_PER_VNODE) return -1;
|
||||
if (pCfg->pages < TSDB_MIN_PAGES_PER_VNODE || pCfg->pages > TSDB_MAX_PAGES_PER_VNODE) return -1;
|
||||
if (pCfg->cacheLastSize < TSDB_MIN_DB_CACHE_LAST_SIZE || pCfg->cacheLastSize > TSDB_MAX_DB_CACHE_LAST_SIZE) return -1;
|
||||
if (pCfg->cacheLastSize < TSDB_MIN_DB_CACHE_SIZE || pCfg->cacheLastSize > TSDB_MAX_DB_CACHE_SIZE) return -1;
|
||||
if (pCfg->daysPerFile < TSDB_MIN_DAYS_PER_FILE || pCfg->daysPerFile > TSDB_MAX_DAYS_PER_FILE) return -1;
|
||||
if (pCfg->daysToKeep0 < TSDB_MIN_KEEP || pCfg->daysToKeep0 > TSDB_MAX_KEEP) return -1;
|
||||
if (pCfg->daysToKeep1 < TSDB_MIN_KEEP || pCfg->daysToKeep1 > TSDB_MAX_KEEP) return -1;
|
||||
|
@ -312,7 +312,7 @@ static int32_t mndCheckDbCfg(SMnode *pMnode, SDbCfg *pCfg) {
|
|||
if (pCfg->replications != 1 && pCfg->replications != 3) return -1;
|
||||
if (pCfg->strict < TSDB_DB_STRICT_OFF || pCfg->strict > TSDB_DB_STRICT_ON) return -1;
|
||||
if (pCfg->schemaless < TSDB_DB_SCHEMALESS_OFF || pCfg->schemaless > TSDB_DB_SCHEMALESS_ON) return -1;
|
||||
if (pCfg->cacheLast < TSDB_MIN_DB_CACHE_LAST || pCfg->cacheLast > TSDB_MAX_DB_CACHE_LAST) return -1;
|
||||
if (pCfg->cacheLast < TSDB_CACHE_MODEL_NONE || pCfg->cacheLast > TSDB_CACHE_MODEL_BOTH) return -1;
|
||||
if (pCfg->hashMethod != 1) return -1;
|
||||
if (pCfg->replications > mndGetDnodeSize(pMnode)) {
|
||||
terrno = TSDB_CODE_MND_NO_ENOUGH_DNODES;
|
||||
|
@ -341,8 +341,8 @@ static void mndSetDefaultDbCfg(SDbCfg *pCfg) {
|
|||
if (pCfg->compression < 0) pCfg->compression = TSDB_DEFAULT_COMP_LEVEL;
|
||||
if (pCfg->replications < 0) pCfg->replications = TSDB_DEFAULT_DB_REPLICA;
|
||||
if (pCfg->strict < 0) pCfg->strict = TSDB_DEFAULT_DB_STRICT;
|
||||
if (pCfg->cacheLast < 0) pCfg->cacheLast = TSDB_DEFAULT_CACHE_LAST;
|
||||
if (pCfg->cacheLastSize <= 0) pCfg->cacheLastSize = TSDB_DEFAULT_CACHE_LAST_SIZE;
|
||||
if (pCfg->cacheLast < 0) pCfg->cacheLast = TSDB_DEFAULT_CACHE_MODEL;
|
||||
if (pCfg->cacheLastSize <= 0) pCfg->cacheLastSize = TSDB_DEFAULT_CACHE_SIZE;
|
||||
if (pCfg->numOfRetensions < 0) pCfg->numOfRetensions = 0;
|
||||
if (pCfg->schemaless < 0) pCfg->schemaless = TSDB_DB_SCHEMALESS_OFF;
|
||||
}
|
||||
|
@ -1443,6 +1443,22 @@ char *buildRetension(SArray *pRetension) {
|
|||
return p1;
|
||||
}
|
||||
|
||||
static const char *getCacheModelStr(int8_t cacheModel) {
|
||||
switch (cacheModel) {
|
||||
case TSDB_CACHE_MODEL_NONE:
|
||||
return TSDB_CACHE_MODEL_NONE_STR;
|
||||
case TSDB_CACHE_MODEL_LAST_ROW:
|
||||
return TSDB_CACHE_MODEL_LAST_ROW_STR;
|
||||
case TSDB_CACHE_MODEL_LAST_VALUE:
|
||||
return TSDB_CACHE_MODEL_LAST_VALUE_STR;
|
||||
case TSDB_CACHE_MODEL_BOTH:
|
||||
return TSDB_CACHE_MODEL_BOTH_STR;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
static void dumpDbInfoData(SSDataBlock *pBlock, SDbObj *pDb, SShowObj *pShow, int32_t rows, int64_t numOfTables,
|
||||
bool sysDb, ESdbStatus objStatus, bool sysinfo) {
|
||||
int32_t cols = 0;
|
||||
|
@ -1491,7 +1507,7 @@ static void dumpDbInfoData(SSDataBlock *pBlock, SDbObj *pDb, SShowObj *pShow, in
|
|||
pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
|
||||
colDataAppend(pColInfo, rows, (const char *)&pDb->cfg.replications, false);
|
||||
|
||||
const char *strictStr = pDb->cfg.strict ? "strict" : "no_strict";
|
||||
const char *strictStr = pDb->cfg.strict ? "on" : "off";
|
||||
char strictVstr[24] = {0};
|
||||
STR_WITH_SIZE_TO_VARSTR(strictVstr, strictStr, strlen(strictStr));
|
||||
pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
|
||||
|
@ -1539,8 +1555,11 @@ static void dumpDbInfoData(SSDataBlock *pBlock, SDbObj *pDb, SShowObj *pShow, in
|
|||
pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
|
||||
colDataAppend(pColInfo, rows, (const char *)&pDb->cfg.compression, false);
|
||||
|
||||
const char *cacheModelStr = getCacheModelStr(pDb->cfg.cacheLast);
|
||||
char cacheModelVstr[24] = {0};
|
||||
STR_WITH_SIZE_TO_VARSTR(cacheModelVstr, cacheModelStr, strlen(cacheModelStr));
|
||||
pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
|
||||
colDataAppend(pColInfo, rows, (const char *)&pDb->cfg.cacheLast, false);
|
||||
colDataAppend(pColInfo, rows, (const char *)cacheModelVstr, false);
|
||||
|
||||
const char *precStr = NULL;
|
||||
switch (pDb->cfg.precision) {
|
||||
|
|
|
@ -3663,7 +3663,7 @@ static int32_t jsonToDownstreamSourceNode(const SJson* pJson, void* pObj) {
|
|||
}
|
||||
|
||||
static const char* jkDatabaseOptionsBuffer = "Buffer";
|
||||
static const char* jkDatabaseOptionsCachelast = "Cachelast";
|
||||
static const char* jkDatabaseOptionsCacheModel = "CacheModel";
|
||||
static const char* jkDatabaseOptionsCompressionLevel = "CompressionLevel";
|
||||
static const char* jkDatabaseOptionsDaysPerFileNode = "DaysPerFileNode";
|
||||
static const char* jkDatabaseOptionsDaysPerFile = "DaysPerFile";
|
||||
|
@ -3687,7 +3687,7 @@ static int32_t databaseOptionsToJson(const void* pObj, SJson* pJson) {
|
|||
|
||||
int32_t code = tjsonAddIntegerToObject(pJson, jkDatabaseOptionsBuffer, pNode->buffer);
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonAddIntegerToObject(pJson, jkDatabaseOptionsCachelast, pNode->cacheLast);
|
||||
code = tjsonAddIntegerToObject(pJson, jkDatabaseOptionsCacheModel, pNode->cacheModel);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonAddIntegerToObject(pJson, jkDatabaseOptionsCompressionLevel, pNode->compressionLevel);
|
||||
|
@ -3749,7 +3749,7 @@ static int32_t jsonToDatabaseOptions(const SJson* pJson, void* pObj) {
|
|||
|
||||
int32_t code = tjsonGetIntValue(pJson, jkDatabaseOptionsBuffer, &pNode->buffer);
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonGetTinyIntValue(pJson, jkDatabaseOptionsCachelast, &pNode->cacheLast);
|
||||
code = tjsonGetTinyIntValue(pJson, jkDatabaseOptionsCacheModel, &pNode->cacheModel);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonGetTinyIntValue(pJson, jkDatabaseOptionsCompressionLevel, &pNode->compressionLevel);
|
||||
|
|
|
@ -38,8 +38,8 @@ typedef struct SAstCreateContext {
|
|||
|
||||
typedef enum EDatabaseOptionType {
|
||||
DB_OPTION_BUFFER = 1,
|
||||
DB_OPTION_CACHELAST,
|
||||
DB_OPTION_CACHELASTSIZE,
|
||||
DB_OPTION_CACHEMODEL,
|
||||
DB_OPTION_CACHESIZE,
|
||||
DB_OPTION_COMP,
|
||||
DB_OPTION_DAYS,
|
||||
DB_OPTION_FSYNC,
|
||||
|
|
|
@ -172,8 +172,8 @@ exists_opt(A) ::= .
|
|||
|
||||
db_options(A) ::= . { A = createDefaultDatabaseOptions(pCxt); }
|
||||
db_options(A) ::= db_options(B) BUFFER NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_BUFFER, &C); }
|
||||
db_options(A) ::= db_options(B) CACHELAST NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_CACHELAST, &C); }
|
||||
db_options(A) ::= db_options(B) CACHELASTSIZE NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_CACHELASTSIZE, &C); }
|
||||
db_options(A) ::= db_options(B) CACHEMODEL NK_STRING(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_CACHEMODEL, &C); }
|
||||
db_options(A) ::= db_options(B) CACHESIZE NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_CACHESIZE, &C); }
|
||||
db_options(A) ::= db_options(B) COMP NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_COMP, &C); }
|
||||
db_options(A) ::= db_options(B) DURATION NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_DAYS, &C); }
|
||||
db_options(A) ::= db_options(B) DURATION NK_VARIABLE(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_DAYS, &C); }
|
||||
|
@ -186,7 +186,7 @@ db_options(A) ::= db_options(B) PAGES NK_INTEGER(C).
|
|||
db_options(A) ::= db_options(B) PAGESIZE NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_PAGESIZE, &C); }
|
||||
db_options(A) ::= db_options(B) PRECISION NK_STRING(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_PRECISION, &C); }
|
||||
db_options(A) ::= db_options(B) REPLICA NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_REPLICA, &C); }
|
||||
db_options(A) ::= db_options(B) STRICT NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_STRICT, &C); }
|
||||
db_options(A) ::= db_options(B) STRICT NK_STRING(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_STRICT, &C); }
|
||||
db_options(A) ::= db_options(B) WAL NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_WAL, &C); }
|
||||
db_options(A) ::= db_options(B) VGROUPS NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_VGROUPS, &C); }
|
||||
db_options(A) ::= db_options(B) SINGLE_STABLE NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_SINGLE_STABLE, &C); }
|
||||
|
@ -199,8 +199,8 @@ alter_db_options(A) ::= alter_db_options(B) alter_db_option(C).
|
|||
%type alter_db_option { SAlterOption }
|
||||
%destructor alter_db_option { }
|
||||
alter_db_option(A) ::= BUFFER NK_INTEGER(B). { A.type = DB_OPTION_BUFFER; A.val = B; }
|
||||
alter_db_option(A) ::= CACHELAST NK_INTEGER(B). { A.type = DB_OPTION_CACHELAST; A.val = B; }
|
||||
alter_db_option(A) ::= CACHELASTSIZE NK_INTEGER(B). { A.type = DB_OPTION_CACHELASTSIZE; A.val = B; }
|
||||
alter_db_option(A) ::= CACHEMODEL NK_STRING(B). { A.type = DB_OPTION_CACHEMODEL; A.val = B; }
|
||||
alter_db_option(A) ::= CACHESIZE NK_INTEGER(B). { A.type = DB_OPTION_CACHESIZE; A.val = B; }
|
||||
alter_db_option(A) ::= FSYNC NK_INTEGER(B). { A.type = DB_OPTION_FSYNC; A.val = B; }
|
||||
alter_db_option(A) ::= KEEP integer_list(B). { A.type = DB_OPTION_KEEP; A.pList = B; }
|
||||
alter_db_option(A) ::= KEEP variable_list(B). { A.type = DB_OPTION_KEEP; A.pList = B; }
|
||||
|
|
|
@ -760,8 +760,8 @@ SNode* createDefaultDatabaseOptions(SAstCreateContext* pCxt) {
|
|||
SDatabaseOptions* pOptions = (SDatabaseOptions*)nodesMakeNode(QUERY_NODE_DATABASE_OPTIONS);
|
||||
CHECK_OUT_OF_MEM(pOptions);
|
||||
pOptions->buffer = TSDB_DEFAULT_BUFFER_PER_VNODE;
|
||||
pOptions->cacheLast = TSDB_DEFAULT_CACHE_LAST;
|
||||
pOptions->cacheLastSize = TSDB_DEFAULT_CACHE_LAST_SIZE;
|
||||
pOptions->cacheModel = TSDB_DEFAULT_CACHE_MODEL;
|
||||
pOptions->cacheLastSize = TSDB_DEFAULT_CACHE_SIZE;
|
||||
pOptions->compressionLevel = TSDB_DEFAULT_COMP_LEVEL;
|
||||
pOptions->daysPerFile = TSDB_DEFAULT_DAYS_PER_FILE;
|
||||
pOptions->fsyncPeriod = TSDB_DEFAULT_FSYNC_PERIOD;
|
||||
|
@ -787,7 +787,7 @@ SNode* createAlterDatabaseOptions(SAstCreateContext* pCxt) {
|
|||
SDatabaseOptions* pOptions = (SDatabaseOptions*)nodesMakeNode(QUERY_NODE_DATABASE_OPTIONS);
|
||||
CHECK_OUT_OF_MEM(pOptions);
|
||||
pOptions->buffer = -1;
|
||||
pOptions->cacheLast = -1;
|
||||
pOptions->cacheModel = -1;
|
||||
pOptions->cacheLastSize = -1;
|
||||
pOptions->compressionLevel = -1;
|
||||
pOptions->daysPerFile = -1;
|
||||
|
@ -815,10 +815,10 @@ SNode* setDatabaseOption(SAstCreateContext* pCxt, SNode* pOptions, EDatabaseOpti
|
|||
case DB_OPTION_BUFFER:
|
||||
((SDatabaseOptions*)pOptions)->buffer = taosStr2Int32(((SToken*)pVal)->z, NULL, 10);
|
||||
break;
|
||||
case DB_OPTION_CACHELAST:
|
||||
((SDatabaseOptions*)pOptions)->cacheLast = taosStr2Int8(((SToken*)pVal)->z, NULL, 10);
|
||||
case DB_OPTION_CACHEMODEL:
|
||||
COPY_STRING_FORM_STR_TOKEN(((SDatabaseOptions*)pOptions)->cacheModelStr, (SToken*)pVal);
|
||||
break;
|
||||
case DB_OPTION_CACHELASTSIZE:
|
||||
case DB_OPTION_CACHESIZE:
|
||||
((SDatabaseOptions*)pOptions)->cacheLastSize = taosStr2Int32(((SToken*)pVal)->z, NULL, 10);
|
||||
break;
|
||||
case DB_OPTION_COMP:
|
||||
|
@ -858,7 +858,7 @@ SNode* setDatabaseOption(SAstCreateContext* pCxt, SNode* pOptions, EDatabaseOpti
|
|||
((SDatabaseOptions*)pOptions)->replica = taosStr2Int8(((SToken*)pVal)->z, NULL, 10);
|
||||
break;
|
||||
case DB_OPTION_STRICT:
|
||||
((SDatabaseOptions*)pOptions)->strict = taosStr2Int8(((SToken*)pVal)->z, NULL, 10);
|
||||
COPY_STRING_FORM_STR_TOKEN(((SDatabaseOptions*)pOptions)->strictStr, (SToken*)pVal);
|
||||
break;
|
||||
case DB_OPTION_WAL:
|
||||
((SDatabaseOptions*)pOptions)->walLevel = taosStr2Int8(((SToken*)pVal)->z, NULL, 10);
|
||||
|
@ -872,10 +872,6 @@ SNode* setDatabaseOption(SAstCreateContext* pCxt, SNode* pOptions, EDatabaseOpti
|
|||
case DB_OPTION_RETENTIONS:
|
||||
((SDatabaseOptions*)pOptions)->pRetentions = pVal;
|
||||
break;
|
||||
// case DB_OPTION_SCHEMALESS:
|
||||
// ((SDatabaseOptions*)pOptions)->schemaless = taosStr2Int8(((SToken*)pVal)->z, NULL, 10);
|
||||
// ((SDatabaseOptions*)pOptions)->schemaless = 0;
|
||||
// break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -52,8 +52,8 @@ static SKeyword keywordTable[] = {
|
|||
{"BUFSIZE", TK_BUFSIZE},
|
||||
{"BY", TK_BY},
|
||||
{"CACHE", TK_CACHE},
|
||||
{"CACHELAST", TK_CACHELAST},
|
||||
{"CACHELASTSIZE", TK_CACHELASTSIZE},
|
||||
{"CACHEMODEL", TK_CACHEMODEL},
|
||||
{"CACHESIZE", TK_CACHESIZE},
|
||||
{"CAST", TK_CAST},
|
||||
{"CLIENT_VERSION", TK_CLIENT_VERSION},
|
||||
{"CLUSTER", TK_CLUSTER},
|
||||
|
|
|
@ -2938,7 +2938,7 @@ static int32_t buildCreateDbReq(STranslateContext* pCxt, SCreateDatabaseStmt* pS
|
|||
pReq->compression = pStmt->pOptions->compressionLevel;
|
||||
pReq->replications = pStmt->pOptions->replica;
|
||||
pReq->strict = pStmt->pOptions->strict;
|
||||
pReq->cacheLast = pStmt->pOptions->cacheLast;
|
||||
pReq->cacheLast = pStmt->pOptions->cacheModel;
|
||||
pReq->cacheLastSize = pStmt->pOptions->cacheLastSize;
|
||||
pReq->schemaless = pStmt->pOptions->schemaless;
|
||||
pReq->ignoreExist = pStmt->ignoreExists;
|
||||
|
@ -3019,13 +3019,31 @@ static int32_t checkDbKeepOption(STranslateContext* pCxt, SDatabaseOptions* pOpt
|
|||
return TSDB_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
static int32_t checkDbCacheModelOption(STranslateContext* pCxt, SDatabaseOptions* pOptions) {
|
||||
if ('\0' != pOptions->cacheModelStr[0]) {
|
||||
if (0 == strcasecmp(pOptions->cacheModelStr, TSDB_CACHE_MODEL_NONE_STR)) {
|
||||
pOptions->cacheModel = TSDB_CACHE_MODEL_NONE;
|
||||
} else if (0 == strcasecmp(pOptions->cacheModelStr, TSDB_CACHE_MODEL_LAST_ROW_STR)) {
|
||||
pOptions->cacheModel = TSDB_CACHE_MODEL_LAST_ROW;
|
||||
} else if (0 == strcasecmp(pOptions->cacheModelStr, TSDB_CACHE_MODEL_LAST_VALUE_STR)) {
|
||||
pOptions->cacheModel = TSDB_CACHE_MODEL_LAST_VALUE;
|
||||
} else if (0 == strcasecmp(pOptions->cacheModelStr, TSDB_CACHE_MODEL_BOTH_STR)) {
|
||||
pOptions->cacheModel = TSDB_CACHE_MODEL_BOTH;
|
||||
} else {
|
||||
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_STR_OPTION, "cacheModel",
|
||||
pOptions->cacheModelStr);
|
||||
}
|
||||
}
|
||||
return TSDB_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
static int32_t checkDbPrecisionOption(STranslateContext* pCxt, SDatabaseOptions* pOptions) {
|
||||
if ('\0' != pOptions->precisionStr[0]) {
|
||||
if (0 == strcmp(pOptions->precisionStr, TSDB_TIME_PRECISION_MILLI_STR)) {
|
||||
if (0 == strcasecmp(pOptions->precisionStr, TSDB_TIME_PRECISION_MILLI_STR)) {
|
||||
pOptions->precision = TSDB_TIME_PRECISION_MILLI;
|
||||
} else if (0 == strcmp(pOptions->precisionStr, TSDB_TIME_PRECISION_MICRO_STR)) {
|
||||
} else if (0 == strcasecmp(pOptions->precisionStr, TSDB_TIME_PRECISION_MICRO_STR)) {
|
||||
pOptions->precision = TSDB_TIME_PRECISION_MICRO;
|
||||
} else if (0 == strcmp(pOptions->precisionStr, TSDB_TIME_PRECISION_NANO_STR)) {
|
||||
} else if (0 == strcasecmp(pOptions->precisionStr, TSDB_TIME_PRECISION_NANO_STR)) {
|
||||
pOptions->precision = TSDB_TIME_PRECISION_NANO;
|
||||
} else {
|
||||
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_STR_OPTION, "precision", pOptions->precisionStr);
|
||||
|
@ -3034,6 +3052,19 @@ static int32_t checkDbPrecisionOption(STranslateContext* pCxt, SDatabaseOptions*
|
|||
return TSDB_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
static int32_t checkDbStrictOption(STranslateContext* pCxt, SDatabaseOptions* pOptions) {
|
||||
if ('\0' != pOptions->strictStr[0]) {
|
||||
if (0 == strcasecmp(pOptions->strictStr, TSDB_DB_STRICT_OFF_STR)) {
|
||||
pOptions->strict = TSDB_DB_STRICT_OFF;
|
||||
} else if (0 == strcasecmp(pOptions->strictStr, TSDB_DB_STRICT_ON_STR)) {
|
||||
pOptions->strict = TSDB_DB_STRICT_ON;
|
||||
} else {
|
||||
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_STR_OPTION, "strict", pOptions->strictStr);
|
||||
}
|
||||
}
|
||||
return TSDB_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
static int32_t checkDbEnumOption(STranslateContext* pCxt, const char* pName, int32_t val, int32_t v1, int32_t v2) {
|
||||
if (val >= 0 && val != v1 && val != v2) {
|
||||
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_ENUM_OPTION, pName, val, v1, v2);
|
||||
|
@ -3100,11 +3131,10 @@ static int32_t checkDatabaseOptions(STranslateContext* pCxt, const char* pDbName
|
|||
int32_t code =
|
||||
checkRangeOption(pCxt, "buffer", pOptions->buffer, TSDB_MIN_BUFFER_PER_VNODE, TSDB_MAX_BUFFER_PER_VNODE);
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = checkRangeOption(pCxt, "cacheLast", pOptions->cacheLast, TSDB_MIN_DB_CACHE_LAST, TSDB_MAX_DB_CACHE_LAST);
|
||||
code = checkDbCacheModelOption(pCxt, pOptions);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = checkRangeOption(pCxt, "cacheLastSize", pOptions->cacheLastSize, TSDB_MIN_DB_CACHE_LAST_SIZE,
|
||||
TSDB_MAX_DB_CACHE_LAST_SIZE);
|
||||
code = checkRangeOption(pCxt, "cacheSize", pOptions->cacheLastSize, TSDB_MIN_DB_CACHE_SIZE, TSDB_MAX_DB_CACHE_SIZE);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = checkRangeOption(pCxt, "compression", pOptions->compressionLevel, TSDB_MIN_COMP_LEVEL, TSDB_MAX_COMP_LEVEL);
|
||||
|
@ -3140,7 +3170,7 @@ static int32_t checkDatabaseOptions(STranslateContext* pCxt, const char* pDbName
|
|||
code = checkDbEnumOption(pCxt, "replications", pOptions->replica, TSDB_MIN_DB_REPLICA, TSDB_MAX_DB_REPLICA);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = checkDbEnumOption(pCxt, "strict", pOptions->strict, TSDB_DB_STRICT_OFF, TSDB_DB_STRICT_ON);
|
||||
code = checkDbStrictOption(pCxt, pOptions);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = checkDbEnumOption(pCxt, "walLevel", pOptions->walLevel, TSDB_MIN_WAL_LEVEL, TSDB_MAX_WAL_LEVEL);
|
||||
|
@ -3225,7 +3255,7 @@ static void buildAlterDbReq(STranslateContext* pCxt, SAlterDatabaseStmt* pStmt,
|
|||
pReq->fsyncPeriod = pStmt->pOptions->fsyncPeriod;
|
||||
pReq->walLevel = pStmt->pOptions->walLevel;
|
||||
pReq->strict = pStmt->pOptions->strict;
|
||||
pReq->cacheLast = pStmt->pOptions->cacheLast;
|
||||
pReq->cacheLast = pStmt->pOptions->cacheModel;
|
||||
pReq->cacheLastSize = pStmt->pOptions->cacheLastSize;
|
||||
pReq->replications = pStmt->pOptions->replica;
|
||||
return;
|
||||
|
|
|
@ -384,32 +384,32 @@ static const YYACTIONTYPE yy_action[] = {
|
|||
/* 1630 */ 464, 1792, 468, 467, 1512, 469, 1511, 1496, 1587, 1824,
|
||||
/* 1640 */ 1154, 50, 196, 295, 1793, 586, 1795, 1796, 582, 1824,
|
||||
/* 1650 */ 577, 1153, 1586, 290, 1793, 586, 1795, 1796, 582, 1810,
|
||||
/* 1660 */ 577, 1079, 632, 1078, 634, 1077, 1076, 584, 1073, 1521,
|
||||
/* 1670 */ 1072, 319, 1761, 320, 583, 1071, 1070, 1516, 1514, 321,
|
||||
/* 1680 */ 496, 1792, 1495, 498, 1494, 500, 1493, 502, 493, 1732,
|
||||
/* 1690 */ 94, 551, 15, 1792, 1237, 1726, 140, 509, 1713, 1824,
|
||||
/* 1700 */ 1711, 1712, 1710, 146, 1793, 586, 1795, 1796, 582, 1810,
|
||||
/* 1710 */ 577, 1709, 1707, 56, 1699, 1247, 229, 581, 510, 227,
|
||||
/* 1720 */ 214, 1810, 1761, 16, 583, 232, 339, 225, 322, 584,
|
||||
/* 1730 */ 219, 78, 515, 41, 1761, 17, 583, 47, 79, 23,
|
||||
/* 1740 */ 524, 1437, 84, 234, 13, 243, 236, 1419, 1951, 1824,
|
||||
/* 1660 */ 577, 1079, 632, 1078, 634, 1077, 1076, 584, 1073, 1071,
|
||||
/* 1670 */ 1072, 1521, 1761, 319, 583, 1070, 1516, 320, 1514, 321,
|
||||
/* 1680 */ 496, 1792, 1495, 498, 1494, 500, 1493, 502, 493, 94,
|
||||
/* 1690 */ 1732, 551, 509, 1792, 1237, 1726, 140, 1713, 1711, 1824,
|
||||
/* 1700 */ 1712, 1710, 1709, 146, 1793, 586, 1795, 1796, 582, 1810,
|
||||
/* 1710 */ 577, 1247, 1707, 56, 1699, 41, 227, 581, 510, 84,
|
||||
/* 1720 */ 214, 1810, 1761, 16, 583, 232, 339, 15, 322, 584,
|
||||
/* 1730 */ 219, 225, 515, 243, 1761, 1437, 583, 47, 78, 79,
|
||||
/* 1740 */ 524, 23, 242, 229, 236, 234, 25, 1419, 1951, 1824,
|
||||
/* 1750 */ 1421, 238, 147, 294, 1793, 586, 1795, 1796, 582, 241,
|
||||
/* 1760 */ 577, 1824, 1843, 242, 1782, 295, 1793, 586, 1795, 1796,
|
||||
/* 1770 */ 582, 1792, 577, 24, 25, 252, 46, 1414, 83, 18,
|
||||
/* 1780 */ 1781, 1792, 1394, 1393, 151, 1449, 1448, 333, 1453, 1454,
|
||||
/* 1790 */ 1443, 1452, 334, 10, 1280, 1356, 1331, 45, 19, 1810,
|
||||
/* 1800 */ 1827, 576, 1311, 1329, 341, 1328, 31, 584, 152, 1810,
|
||||
/* 1810 */ 12, 20, 1761, 165, 583, 21, 589, 584, 585, 587,
|
||||
/* 1820 */ 342, 1140, 1761, 1137, 583, 591, 594, 593, 1134, 596,
|
||||
/* 1830 */ 597, 1792, 1128, 599, 600, 602, 1132, 1131, 1117, 1824,
|
||||
/* 1840 */ 609, 1792, 1149, 295, 1793, 586, 1795, 1796, 582, 1824,
|
||||
/* 1850 */ 577, 1792, 1126, 281, 1793, 586, 1795, 1796, 582, 1810,
|
||||
/* 1860 */ 577, 603, 85, 86, 62, 263, 1145, 584, 1130, 1810,
|
||||
/* 1870 */ 1129, 1042, 1761, 618, 583, 264, 1067, 584, 1086, 1810,
|
||||
/* 1880 */ 621, 1065, 1761, 1064, 583, 1063, 1062, 584, 1061, 1060,
|
||||
/* 1890 */ 1059, 1058, 1761, 1083, 583, 1081, 1055, 1054, 1053, 1824,
|
||||
/* 1900 */ 1050, 1049, 1528, 282, 1793, 586, 1795, 1796, 582, 1824,
|
||||
/* 1910 */ 577, 1048, 1047, 289, 1793, 586, 1795, 1796, 582, 1824,
|
||||
/* 1760 */ 577, 1824, 1843, 1782, 17, 295, 1793, 586, 1795, 1796,
|
||||
/* 1770 */ 582, 1792, 577, 24, 252, 1414, 83, 46, 1781, 1394,
|
||||
/* 1780 */ 1449, 1792, 1393, 151, 18, 1448, 333, 1453, 1452, 10,
|
||||
/* 1790 */ 1454, 45, 1443, 334, 1280, 1356, 1827, 1311, 19, 1810,
|
||||
/* 1800 */ 589, 1331, 1329, 13, 341, 576, 31, 584, 1328, 1810,
|
||||
/* 1810 */ 152, 12, 1761, 165, 583, 20, 21, 584, 585, 587,
|
||||
/* 1820 */ 342, 1140, 1761, 591, 583, 1137, 593, 594, 596, 1134,
|
||||
/* 1830 */ 1128, 1792, 597, 599, 600, 602, 1132, 1117, 1131, 1824,
|
||||
/* 1840 */ 1149, 1792, 1126, 295, 1793, 586, 1795, 1796, 582, 1824,
|
||||
/* 1850 */ 577, 1792, 263, 281, 1793, 586, 1795, 1796, 582, 1810,
|
||||
/* 1860 */ 577, 603, 85, 609, 86, 62, 1130, 584, 1129, 1810,
|
||||
/* 1870 */ 1145, 618, 1761, 1042, 583, 1086, 1067, 584, 621, 1810,
|
||||
/* 1880 */ 264, 1065, 1761, 1062, 583, 1064, 1063, 584, 1061, 1060,
|
||||
/* 1890 */ 1059, 1058, 1761, 1083, 583, 1081, 1048, 1055, 1054, 1824,
|
||||
/* 1900 */ 1053, 1050, 1528, 282, 1793, 586, 1795, 1796, 582, 1824,
|
||||
/* 1910 */ 577, 1049, 1047, 289, 1793, 586, 1795, 1796, 582, 1824,
|
||||
/* 1920 */ 577, 643, 644, 291, 1793, 586, 1795, 1796, 582, 645,
|
||||
/* 1930 */ 577, 1526, 1792, 647, 648, 649, 1524, 1522, 651, 652,
|
||||
/* 1940 */ 653, 655, 656, 657, 1510, 659, 1004, 1492, 267, 663,
|
||||
|
@ -641,30 +641,30 @@ static const YYCODETYPE yy_lookahead[] = {
|
|||
/* 1630 */ 47, 259, 47, 35, 0, 39, 0, 0, 0, 327,
|
||||
/* 1640 */ 35, 94, 92, 331, 332, 333, 334, 335, 336, 327,
|
||||
/* 1650 */ 338, 22, 0, 331, 332, 333, 334, 335, 336, 287,
|
||||
/* 1660 */ 338, 35, 43, 35, 43, 35, 35, 295, 35, 0,
|
||||
/* 1670 */ 35, 22, 300, 22, 302, 35, 35, 0, 0, 22,
|
||||
/* 1680 */ 35, 259, 0, 35, 0, 35, 0, 22, 49, 0,
|
||||
/* 1690 */ 20, 369, 85, 259, 35, 0, 172, 22, 0, 327,
|
||||
/* 1660 */ 338, 35, 43, 35, 43, 35, 35, 295, 35, 22,
|
||||
/* 1670 */ 35, 0, 300, 22, 302, 35, 0, 22, 0, 22,
|
||||
/* 1680 */ 35, 259, 0, 35, 0, 35, 0, 22, 49, 20,
|
||||
/* 1690 */ 0, 369, 22, 259, 35, 0, 172, 0, 0, 327,
|
||||
/* 1700 */ 0, 0, 0, 331, 332, 333, 334, 335, 336, 287,
|
||||
/* 1710 */ 338, 0, 0, 153, 0, 181, 149, 295, 153, 39,
|
||||
/* 1710 */ 338, 181, 0, 153, 0, 43, 39, 295, 153, 95,
|
||||
/* 1720 */ 150, 287, 300, 230, 302, 46, 292, 85, 153, 295,
|
||||
/* 1730 */ 86, 85, 155, 43, 300, 230, 302, 43, 85, 85,
|
||||
/* 1740 */ 151, 86, 95, 85, 230, 46, 86, 86, 376, 327,
|
||||
/* 1730 */ 86, 85, 155, 46, 300, 86, 302, 43, 85, 85,
|
||||
/* 1740 */ 151, 85, 43, 149, 86, 85, 43, 86, 376, 327,
|
||||
/* 1750 */ 86, 85, 85, 331, 332, 333, 334, 335, 336, 85,
|
||||
/* 1760 */ 338, 327, 340, 43, 46, 331, 332, 333, 334, 335,
|
||||
/* 1770 */ 336, 259, 338, 85, 43, 46, 43, 86, 85, 43,
|
||||
/* 1780 */ 46, 259, 86, 86, 46, 35, 35, 35, 35, 86,
|
||||
/* 1790 */ 86, 35, 35, 2, 22, 193, 86, 224, 43, 287,
|
||||
/* 1800 */ 85, 85, 22, 86, 292, 86, 85, 295, 46, 287,
|
||||
/* 1810 */ 85, 85, 300, 46, 302, 85, 35, 295, 195, 96,
|
||||
/* 1820 */ 35, 86, 300, 86, 302, 85, 85, 35, 86, 35,
|
||||
/* 1830 */ 85, 259, 86, 35, 85, 35, 109, 109, 22, 327,
|
||||
/* 1840 */ 97, 259, 35, 331, 332, 333, 334, 335, 336, 327,
|
||||
/* 1850 */ 338, 259, 86, 331, 332, 333, 334, 335, 336, 287,
|
||||
/* 1860 */ 338, 85, 85, 85, 85, 43, 22, 295, 109, 287,
|
||||
/* 1870 */ 109, 62, 300, 61, 302, 43, 35, 295, 68, 287,
|
||||
/* 1880 */ 83, 35, 300, 35, 302, 35, 35, 295, 35, 22,
|
||||
/* 1890 */ 35, 35, 300, 68, 302, 35, 35, 35, 35, 327,
|
||||
/* 1760 */ 338, 327, 340, 46, 230, 331, 332, 333, 334, 335,
|
||||
/* 1770 */ 336, 259, 338, 85, 46, 86, 85, 43, 46, 86,
|
||||
/* 1780 */ 35, 259, 86, 46, 43, 35, 35, 35, 35, 2,
|
||||
/* 1790 */ 86, 224, 86, 35, 22, 193, 85, 22, 43, 287,
|
||||
/* 1800 */ 35, 86, 86, 230, 292, 85, 85, 295, 86, 287,
|
||||
/* 1810 */ 46, 85, 300, 46, 302, 85, 85, 295, 195, 96,
|
||||
/* 1820 */ 35, 86, 300, 85, 302, 86, 35, 85, 35, 86,
|
||||
/* 1830 */ 86, 259, 85, 35, 85, 35, 109, 22, 109, 327,
|
||||
/* 1840 */ 35, 259, 86, 331, 332, 333, 334, 335, 336, 327,
|
||||
/* 1850 */ 338, 259, 43, 331, 332, 333, 334, 335, 336, 287,
|
||||
/* 1860 */ 338, 85, 85, 97, 85, 85, 109, 295, 109, 287,
|
||||
/* 1870 */ 22, 61, 300, 62, 302, 68, 35, 295, 83, 287,
|
||||
/* 1880 */ 43, 35, 300, 22, 302, 35, 35, 295, 35, 22,
|
||||
/* 1890 */ 35, 35, 300, 68, 302, 35, 22, 35, 35, 327,
|
||||
/* 1900 */ 35, 35, 0, 331, 332, 333, 334, 335, 336, 327,
|
||||
/* 1910 */ 338, 35, 35, 331, 332, 333, 334, 335, 336, 327,
|
||||
/* 1920 */ 338, 35, 47, 331, 332, 333, 334, 335, 336, 39,
|
||||
|
@ -783,23 +783,23 @@ static const unsigned short int yy_shift_ofst[] = {
|
|||
/* 450 */ 1603, 1606, 1608, 1553, 1611, 1613, 1581, 1571, 1580, 1620,
|
||||
/* 460 */ 1586, 1576, 1587, 1625, 1593, 1583, 1590, 1627, 1598, 1585,
|
||||
/* 470 */ 1596, 1634, 1636, 1637, 1638, 1547, 1550, 1605, 1629, 1652,
|
||||
/* 480 */ 1626, 1628, 1630, 1631, 1619, 1621, 1633, 1635, 1640, 1641,
|
||||
/* 490 */ 1669, 1649, 1677, 1651, 1639, 1678, 1657, 1645, 1682, 1648,
|
||||
/* 500 */ 1684, 1650, 1686, 1665, 1670, 1689, 1560, 1659, 1695, 1524,
|
||||
/* 510 */ 1675, 1565, 1570, 1698, 1700, 1575, 1577, 1701, 1702, 1711,
|
||||
/* 520 */ 1607, 1644, 1534, 1712, 1642, 1589, 1646, 1714, 1680, 1567,
|
||||
/* 530 */ 1653, 1647, 1679, 1690, 1493, 1654, 1655, 1658, 1660, 1661,
|
||||
/* 540 */ 1666, 1694, 1664, 1667, 1674, 1688, 1691, 1720, 1699, 1718,
|
||||
/* 550 */ 1693, 1731, 1505, 1696, 1697, 1729, 1573, 1733, 1734, 1738,
|
||||
/* 560 */ 1703, 1736, 1514, 1704, 1750, 1751, 1752, 1753, 1756, 1757,
|
||||
/* 570 */ 1704, 1791, 1772, 1602, 1755, 1715, 1710, 1716, 1717, 1721,
|
||||
/* 580 */ 1719, 1762, 1725, 1726, 1767, 1780, 1623, 1730, 1723, 1735,
|
||||
/* 590 */ 1781, 1785, 1740, 1737, 1792, 1741, 1742, 1794, 1745, 1746,
|
||||
/* 600 */ 1798, 1749, 1766, 1800, 1776, 1727, 1728, 1759, 1761, 1816,
|
||||
/* 610 */ 1743, 1777, 1778, 1807, 1779, 1822, 1822, 1844, 1809, 1812,
|
||||
/* 620 */ 1841, 1810, 1797, 1832, 1846, 1848, 1850, 1851, 1853, 1867,
|
||||
/* 630 */ 1855, 1856, 1825, 1619, 1860, 1621, 1861, 1862, 1863, 1865,
|
||||
/* 640 */ 1866, 1876, 1877, 1902, 1886, 1875, 1890, 1931, 1898, 1887,
|
||||
/* 480 */ 1626, 1628, 1630, 1631, 1619, 1621, 1633, 1635, 1647, 1640,
|
||||
/* 490 */ 1671, 1651, 1676, 1655, 1639, 1678, 1657, 1645, 1682, 1648,
|
||||
/* 500 */ 1684, 1650, 1686, 1665, 1669, 1690, 1560, 1659, 1695, 1524,
|
||||
/* 510 */ 1670, 1565, 1570, 1697, 1698, 1575, 1577, 1700, 1701, 1702,
|
||||
/* 520 */ 1642, 1644, 1530, 1712, 1646, 1589, 1653, 1714, 1677, 1594,
|
||||
/* 530 */ 1654, 1624, 1679, 1672, 1493, 1656, 1649, 1660, 1658, 1661,
|
||||
/* 540 */ 1666, 1694, 1664, 1667, 1674, 1688, 1689, 1699, 1687, 1717,
|
||||
/* 550 */ 1691, 1703, 1534, 1693, 1696, 1728, 1567, 1734, 1732, 1737,
|
||||
/* 560 */ 1704, 1741, 1573, 1706, 1745, 1750, 1751, 1752, 1753, 1758,
|
||||
/* 570 */ 1706, 1787, 1772, 1602, 1755, 1711, 1715, 1720, 1716, 1721,
|
||||
/* 580 */ 1722, 1764, 1726, 1730, 1767, 1775, 1623, 1731, 1723, 1735,
|
||||
/* 590 */ 1765, 1785, 1738, 1739, 1791, 1742, 1743, 1793, 1747, 1744,
|
||||
/* 600 */ 1798, 1749, 1756, 1800, 1776, 1727, 1729, 1757, 1759, 1815,
|
||||
/* 610 */ 1766, 1777, 1779, 1805, 1780, 1809, 1809, 1848, 1811, 1810,
|
||||
/* 620 */ 1841, 1807, 1795, 1837, 1846, 1850, 1851, 1861, 1853, 1867,
|
||||
/* 630 */ 1855, 1856, 1825, 1619, 1860, 1621, 1862, 1863, 1865, 1866,
|
||||
/* 640 */ 1876, 1874, 1877, 1902, 1886, 1875, 1890, 1931, 1898, 1887,
|
||||
/* 650 */ 1896, 1936, 1903, 1892, 1901, 1937, 1906, 1895, 1904, 1944,
|
||||
/* 660 */ 1910, 1911, 1947, 1926, 1928, 1930, 1932, 1929, 1933,
|
||||
};
|
||||
|
@ -987,8 +987,8 @@ static const YYCODETYPE yyFallback[] = {
|
|||
0, /* NOT => nothing */
|
||||
0, /* EXISTS => nothing */
|
||||
0, /* BUFFER => nothing */
|
||||
0, /* CACHELAST => nothing */
|
||||
0, /* CACHELASTSIZE => nothing */
|
||||
0, /* CACHEMODEL => nothing */
|
||||
0, /* CACHESIZE => nothing */
|
||||
0, /* COMP => nothing */
|
||||
0, /* DURATION => nothing */
|
||||
0, /* NK_VARIABLE => nothing */
|
||||
|
@ -1330,8 +1330,8 @@ static const char *const yyTokenName[] = {
|
|||
/* 61 */ "NOT",
|
||||
/* 62 */ "EXISTS",
|
||||
/* 63 */ "BUFFER",
|
||||
/* 64 */ "CACHELAST",
|
||||
/* 65 */ "CACHELASTSIZE",
|
||||
/* 64 */ "CACHEMODEL",
|
||||
/* 65 */ "CACHESIZE",
|
||||
/* 66 */ "COMP",
|
||||
/* 67 */ "DURATION",
|
||||
/* 68 */ "NK_VARIABLE",
|
||||
|
@ -1726,8 +1726,8 @@ static const char *const yyRuleName[] = {
|
|||
/* 71 */ "exists_opt ::=",
|
||||
/* 72 */ "db_options ::=",
|
||||
/* 73 */ "db_options ::= db_options BUFFER NK_INTEGER",
|
||||
/* 74 */ "db_options ::= db_options CACHELAST NK_INTEGER",
|
||||
/* 75 */ "db_options ::= db_options CACHELASTSIZE NK_INTEGER",
|
||||
/* 74 */ "db_options ::= db_options CACHEMODEL NK_STRING",
|
||||
/* 75 */ "db_options ::= db_options CACHESIZE NK_INTEGER",
|
||||
/* 76 */ "db_options ::= db_options COMP NK_INTEGER",
|
||||
/* 77 */ "db_options ::= db_options DURATION NK_INTEGER",
|
||||
/* 78 */ "db_options ::= db_options DURATION NK_VARIABLE",
|
||||
|
@ -1740,7 +1740,7 @@ static const char *const yyRuleName[] = {
|
|||
/* 85 */ "db_options ::= db_options PAGESIZE NK_INTEGER",
|
||||
/* 86 */ "db_options ::= db_options PRECISION NK_STRING",
|
||||
/* 87 */ "db_options ::= db_options REPLICA NK_INTEGER",
|
||||
/* 88 */ "db_options ::= db_options STRICT NK_INTEGER",
|
||||
/* 88 */ "db_options ::= db_options STRICT NK_STRING",
|
||||
/* 89 */ "db_options ::= db_options WAL NK_INTEGER",
|
||||
/* 90 */ "db_options ::= db_options VGROUPS NK_INTEGER",
|
||||
/* 91 */ "db_options ::= db_options SINGLE_STABLE NK_INTEGER",
|
||||
|
@ -1749,8 +1749,8 @@ static const char *const yyRuleName[] = {
|
|||
/* 94 */ "alter_db_options ::= alter_db_option",
|
||||
/* 95 */ "alter_db_options ::= alter_db_options alter_db_option",
|
||||
/* 96 */ "alter_db_option ::= BUFFER NK_INTEGER",
|
||||
/* 97 */ "alter_db_option ::= CACHELAST NK_INTEGER",
|
||||
/* 98 */ "alter_db_option ::= CACHELASTSIZE NK_INTEGER",
|
||||
/* 97 */ "alter_db_option ::= CACHEMODEL NK_STRING",
|
||||
/* 98 */ "alter_db_option ::= CACHESIZE NK_INTEGER",
|
||||
/* 99 */ "alter_db_option ::= FSYNC NK_INTEGER",
|
||||
/* 100 */ "alter_db_option ::= KEEP integer_list",
|
||||
/* 101 */ "alter_db_option ::= KEEP variable_list",
|
||||
|
@ -2816,8 +2816,8 @@ static const struct {
|
|||
{ 271, 0 }, /* (71) exists_opt ::= */
|
||||
{ 270, 0 }, /* (72) db_options ::= */
|
||||
{ 270, -3 }, /* (73) db_options ::= db_options BUFFER NK_INTEGER */
|
||||
{ 270, -3 }, /* (74) db_options ::= db_options CACHELAST NK_INTEGER */
|
||||
{ 270, -3 }, /* (75) db_options ::= db_options CACHELASTSIZE NK_INTEGER */
|
||||
{ 270, -3 }, /* (74) db_options ::= db_options CACHEMODEL NK_STRING */
|
||||
{ 270, -3 }, /* (75) db_options ::= db_options CACHESIZE NK_INTEGER */
|
||||
{ 270, -3 }, /* (76) db_options ::= db_options COMP NK_INTEGER */
|
||||
{ 270, -3 }, /* (77) db_options ::= db_options DURATION NK_INTEGER */
|
||||
{ 270, -3 }, /* (78) db_options ::= db_options DURATION NK_VARIABLE */
|
||||
|
@ -2830,7 +2830,7 @@ static const struct {
|
|||
{ 270, -3 }, /* (85) db_options ::= db_options PAGESIZE NK_INTEGER */
|
||||
{ 270, -3 }, /* (86) db_options ::= db_options PRECISION NK_STRING */
|
||||
{ 270, -3 }, /* (87) db_options ::= db_options REPLICA NK_INTEGER */
|
||||
{ 270, -3 }, /* (88) db_options ::= db_options STRICT NK_INTEGER */
|
||||
{ 270, -3 }, /* (88) db_options ::= db_options STRICT NK_STRING */
|
||||
{ 270, -3 }, /* (89) db_options ::= db_options WAL NK_INTEGER */
|
||||
{ 270, -3 }, /* (90) db_options ::= db_options VGROUPS NK_INTEGER */
|
||||
{ 270, -3 }, /* (91) db_options ::= db_options SINGLE_STABLE NK_INTEGER */
|
||||
|
@ -2839,8 +2839,8 @@ static const struct {
|
|||
{ 272, -1 }, /* (94) alter_db_options ::= alter_db_option */
|
||||
{ 272, -2 }, /* (95) alter_db_options ::= alter_db_options alter_db_option */
|
||||
{ 276, -2 }, /* (96) alter_db_option ::= BUFFER NK_INTEGER */
|
||||
{ 276, -2 }, /* (97) alter_db_option ::= CACHELAST NK_INTEGER */
|
||||
{ 276, -2 }, /* (98) alter_db_option ::= CACHELASTSIZE NK_INTEGER */
|
||||
{ 276, -2 }, /* (97) alter_db_option ::= CACHEMODEL NK_STRING */
|
||||
{ 276, -2 }, /* (98) alter_db_option ::= CACHESIZE NK_INTEGER */
|
||||
{ 276, -2 }, /* (99) alter_db_option ::= FSYNC NK_INTEGER */
|
||||
{ 276, -2 }, /* (100) alter_db_option ::= KEEP integer_list */
|
||||
{ 276, -2 }, /* (101) alter_db_option ::= KEEP variable_list */
|
||||
|
@ -3543,12 +3543,12 @@ static YYACTIONTYPE yy_reduce(
|
|||
{ yylhsminor.yy616 = setDatabaseOption(pCxt, yymsp[-2].minor.yy616, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); }
|
||||
yymsp[-2].minor.yy616 = yylhsminor.yy616;
|
||||
break;
|
||||
case 74: /* db_options ::= db_options CACHELAST NK_INTEGER */
|
||||
{ yylhsminor.yy616 = setDatabaseOption(pCxt, yymsp[-2].minor.yy616, DB_OPTION_CACHELAST, &yymsp[0].minor.yy0); }
|
||||
case 74: /* db_options ::= db_options CACHEMODEL NK_STRING */
|
||||
{ yylhsminor.yy616 = setDatabaseOption(pCxt, yymsp[-2].minor.yy616, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); }
|
||||
yymsp[-2].minor.yy616 = yylhsminor.yy616;
|
||||
break;
|
||||
case 75: /* db_options ::= db_options CACHELASTSIZE NK_INTEGER */
|
||||
{ yylhsminor.yy616 = setDatabaseOption(pCxt, yymsp[-2].minor.yy616, DB_OPTION_CACHELASTSIZE, &yymsp[0].minor.yy0); }
|
||||
case 75: /* db_options ::= db_options CACHESIZE NK_INTEGER */
|
||||
{ yylhsminor.yy616 = setDatabaseOption(pCxt, yymsp[-2].minor.yy616, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); }
|
||||
yymsp[-2].minor.yy616 = yylhsminor.yy616;
|
||||
break;
|
||||
case 76: /* db_options ::= db_options COMP NK_INTEGER */
|
||||
|
@ -3593,7 +3593,7 @@ static YYACTIONTYPE yy_reduce(
|
|||
{ yylhsminor.yy616 = setDatabaseOption(pCxt, yymsp[-2].minor.yy616, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); }
|
||||
yymsp[-2].minor.yy616 = yylhsminor.yy616;
|
||||
break;
|
||||
case 88: /* db_options ::= db_options STRICT NK_INTEGER */
|
||||
case 88: /* db_options ::= db_options STRICT NK_STRING */
|
||||
{ yylhsminor.yy616 = setDatabaseOption(pCxt, yymsp[-2].minor.yy616, DB_OPTION_STRICT, &yymsp[0].minor.yy0); }
|
||||
yymsp[-2].minor.yy616 = yylhsminor.yy616;
|
||||
break;
|
||||
|
@ -3628,11 +3628,11 @@ static YYACTIONTYPE yy_reduce(
|
|||
case 96: /* alter_db_option ::= BUFFER NK_INTEGER */
|
||||
{ yymsp[-1].minor.yy409.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy409.val = yymsp[0].minor.yy0; }
|
||||
break;
|
||||
case 97: /* alter_db_option ::= CACHELAST NK_INTEGER */
|
||||
{ yymsp[-1].minor.yy409.type = DB_OPTION_CACHELAST; yymsp[-1].minor.yy409.val = yymsp[0].minor.yy0; }
|
||||
case 97: /* alter_db_option ::= CACHEMODEL NK_STRING */
|
||||
{ yymsp[-1].minor.yy409.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy409.val = yymsp[0].minor.yy0; }
|
||||
break;
|
||||
case 98: /* alter_db_option ::= CACHELASTSIZE NK_INTEGER */
|
||||
{ yymsp[-1].minor.yy409.type = DB_OPTION_CACHELASTSIZE; yymsp[-1].minor.yy409.val = yymsp[0].minor.yy0; }
|
||||
case 98: /* alter_db_option ::= CACHESIZE NK_INTEGER */
|
||||
{ yymsp[-1].minor.yy409.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy409.val = yymsp[0].minor.yy0; }
|
||||
break;
|
||||
case 99: /* alter_db_option ::= FSYNC NK_INTEGER */
|
||||
{ yymsp[-1].minor.yy409.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy409.val = yymsp[0].minor.yy0; }
|
||||
|
|
|
@ -38,7 +38,7 @@ TEST_F(ParserInitialATest, alterDnode) {
|
|||
TEST_F(ParserInitialATest, alterDatabase) {
|
||||
useDb("root", "test");
|
||||
|
||||
run("ALTER DATABASE test CACHELAST 1 FSYNC 200 WAL 1");
|
||||
run("ALTER DATABASE test CACHEMODEL 'last_row' FSYNC 200 WAL 1");
|
||||
|
||||
run("ALTER DATABASE test KEEP 2400");
|
||||
}
|
||||
|
|
|
@ -43,7 +43,8 @@ TEST_F(ParserInitialCTest, createBnode) {
|
|||
*
|
||||
* database_option: {
|
||||
* BUFFER value
|
||||
* | CACHELAST value
|
||||
* | CACHEMODEL {'none' | 'last_row' | 'last_value' | 'both'}
|
||||
* | CACHESIZE value
|
||||
* | COMP {0 | 1 | 2}
|
||||
* | DURATION value
|
||||
* | FSYNC value
|
||||
|
@ -55,7 +56,7 @@ TEST_F(ParserInitialCTest, createBnode) {
|
|||
* | PRECISION {'ms' | 'us' | 'ns'}
|
||||
* | REPLICA value
|
||||
* | RETENTIONS ingestion_duration:keep_duration ...
|
||||
* | STRICT value
|
||||
* | STRICT {'off' | 'on'}
|
||||
* | WAL value
|
||||
* | VGROUPS value
|
||||
* | SINGLE_STABLE {0 | 1}
|
||||
|
@ -76,8 +77,8 @@ TEST_F(ParserInitialCTest, createDatabase) {
|
|||
expect.db[len] = '\0';
|
||||
expect.ignoreExist = igExists;
|
||||
expect.buffer = TSDB_DEFAULT_BUFFER_PER_VNODE;
|
||||
expect.cacheLast = TSDB_DEFAULT_CACHE_LAST;
|
||||
expect.cacheLastSize = TSDB_DEFAULT_CACHE_LAST_SIZE;
|
||||
expect.cacheLast = TSDB_DEFAULT_CACHE_MODEL;
|
||||
expect.cacheLastSize = TSDB_DEFAULT_CACHE_SIZE;
|
||||
expect.compression = TSDB_DEFAULT_COMP_LEVEL;
|
||||
expect.daysPerFile = TSDB_DEFAULT_DAYS_PER_FILE;
|
||||
expect.fsyncPeriod = TSDB_DEFAULT_FSYNC_PERIOD;
|
||||
|
@ -203,8 +204,8 @@ TEST_F(ParserInitialCTest, createDatabase) {
|
|||
setDbSchemalessFunc(1);
|
||||
run("CREATE DATABASE IF NOT EXISTS wxy_db "
|
||||
"BUFFER 64 "
|
||||
"CACHELAST 2 "
|
||||
"CACHELASTSIZE 20 "
|
||||
"CACHEMODEL 'last_value' "
|
||||
"CACHESIZE 20 "
|
||||
"COMP 1 "
|
||||
"DURATION 100 "
|
||||
"FSYNC 100 "
|
||||
|
@ -216,7 +217,7 @@ TEST_F(ParserInitialCTest, createDatabase) {
|
|||
"PRECISION 'ns' "
|
||||
"REPLICA 3 "
|
||||
"RETENTIONS 15s:7d,1m:21d,15m:500d "
|
||||
"STRICT 1 "
|
||||
"STRICT 'on' "
|
||||
"WAL 2 "
|
||||
"VGROUPS 100 "
|
||||
"SINGLE_STABLE 1 "
|
||||
|
|
|
@ -67,7 +67,7 @@ class TDTestCase:
|
|||
slow = 0 #count time where lastRow on is slower
|
||||
for i in range(5):
|
||||
#switch lastRow to off and check
|
||||
tdSql.execute('alter database db cachelast 0')
|
||||
tdSql.execute('alter database db cachemodel 'none'')
|
||||
tdSql.query('show databases')
|
||||
tdSql.checkData(0,15,0)
|
||||
|
||||
|
@ -79,7 +79,7 @@ class TDTestCase:
|
|||
tdLog.debug(f'time used:{lastRow_Off_end-lastRow_Off_start}')
|
||||
|
||||
#switch lastRow to on and check
|
||||
tdSql.execute('alter database db cachelast 1')
|
||||
tdSql.execute('alter database db cachemodel 'last_row'')
|
||||
tdSql.query('show databases')
|
||||
tdSql.checkData(0,15,1)
|
||||
|
||||
|
|
|
@ -89,36 +89,36 @@ class TDTestCase:
|
|||
tdSql.prepare()
|
||||
|
||||
# last_cache_0.sim
|
||||
tdSql.execute("create database test1 cachelast 0")
|
||||
tdSql.execute("create database test1 cachemodel 'none'")
|
||||
tdSql.execute("use test1")
|
||||
self.insertData()
|
||||
self.executeQueries()
|
||||
|
||||
tdSql.execute("alter database test1 cachelast 1")
|
||||
tdSql.execute("alter database test1 cachemodel 'last_row'")
|
||||
self.executeQueries()
|
||||
tdDnodes.stop(1)
|
||||
tdDnodes.start(1)
|
||||
self.executeQueries()
|
||||
|
||||
tdSql.execute("alter database test1 cachelast 0")
|
||||
tdSql.execute("alter database test1 cachemodel 'none'")
|
||||
self.executeQueries()
|
||||
tdDnodes.stop(1)
|
||||
tdDnodes.start(1)
|
||||
self.executeQueries()
|
||||
|
||||
# last_cache_1.sim
|
||||
tdSql.execute("create database test2 cachelast 1")
|
||||
tdSql.execute("create database test2 cachemodel 'last_row'")
|
||||
tdSql.execute("use test2")
|
||||
self.insertData()
|
||||
self.executeQueries()
|
||||
|
||||
tdSql.execute("alter database test2 cachelast 0")
|
||||
tdSql.execute("alter database test2 cachemodel 'none'")
|
||||
self.executeQueries()
|
||||
tdDnodes.stop(1)
|
||||
tdDnodes.start(1)
|
||||
self.executeQueries()
|
||||
|
||||
tdSql.execute("alter database test2 cachelast 1")
|
||||
tdSql.execute("alter database test2 cachemodel 'last_row'")
|
||||
self.executeQueries()
|
||||
tdDnodes.stop(1)
|
||||
tdDnodes.start(1)
|
||||
|
|
|
@ -142,56 +142,56 @@ class TDTestCase:
|
|||
tdSql.prepare()
|
||||
|
||||
print("============== Step1: last_row_cache_0.sim")
|
||||
tdSql.execute("create database test1 cachelast 0")
|
||||
tdSql.execute("create database test1 cachemodel 'none'")
|
||||
tdSql.execute("use test1")
|
||||
self.insertData()
|
||||
self.executeQueries()
|
||||
self.insertData2()
|
||||
self.executeQueries2()
|
||||
|
||||
print("============== Step2: alter database test1 cachelast 1")
|
||||
tdSql.execute("alter database test1 cachelast 1")
|
||||
print("============== Step2: alter database test1 cachemodel 'last_row'")
|
||||
tdSql.execute("alter database test1 cachemodel 'last_row'")
|
||||
self.executeQueries2()
|
||||
|
||||
print("============== Step3: alter database test1 cachelast 2")
|
||||
tdSql.execute("alter database test1 cachelast 2")
|
||||
print("============== Step3: alter database test1 cachemodel 'last_value'")
|
||||
tdSql.execute("alter database test1 cachemodel 'last_value'")
|
||||
self.executeQueries2()
|
||||
|
||||
print("============== Step4: alter database test1 cachelast 3")
|
||||
tdSql.execute("alter database test1 cachelast 3")
|
||||
print("============== Step4: alter database test1 cachemodel 'both'")
|
||||
tdSql.execute("alter database test1 cachemodel 'both'")
|
||||
self.executeQueries2()
|
||||
|
||||
|
||||
print("============== Step5: alter database test1 cachelast 0 and restart taosd")
|
||||
tdSql.execute("alter database test1 cachelast 0")
|
||||
print("============== Step5: alter database test1 cachemodel 'none' and restart taosd")
|
||||
tdSql.execute("alter database test1 cachemodel 'none'")
|
||||
self.executeQueries2()
|
||||
tdDnodes.stop(1)
|
||||
tdDnodes.start(1)
|
||||
self.executeQueries2()
|
||||
|
||||
print("============== Step6: alter database test1 cachelast 1 and restart taosd")
|
||||
tdSql.execute("alter database test1 cachelast 1")
|
||||
print("============== Step6: alter database test1 cachemodel 'last_row' and restart taosd")
|
||||
tdSql.execute("alter database test1 cachemodel 'last_row'")
|
||||
self.executeQueries2()
|
||||
tdDnodes.stop(1)
|
||||
tdDnodes.start(1)
|
||||
self.executeQueries2()
|
||||
|
||||
print("============== Step7: alter database test1 cachelast 2 and restart taosd")
|
||||
tdSql.execute("alter database test1 cachelast 2")
|
||||
print("============== Step7: alter database test1 cachemodel 'last_value' and restart taosd")
|
||||
tdSql.execute("alter database test1 cachemodel 'last_value'")
|
||||
self.executeQueries2()
|
||||
tdDnodes.stop(1)
|
||||
tdDnodes.start(1)
|
||||
self.executeQueries2()
|
||||
|
||||
print("============== Step8: alter database test1 cachelast 3 and restart taosd")
|
||||
tdSql.execute("alter database test1 cachelast 3")
|
||||
print("============== Step8: alter database test1 cachemodel 'both' and restart taosd")
|
||||
tdSql.execute("alter database test1 cachemodel 'both'")
|
||||
self.executeQueries2()
|
||||
tdDnodes.stop(1)
|
||||
tdDnodes.start(1)
|
||||
self.executeQueries2()
|
||||
|
||||
print("============== Step9: create database test2 cachelast 1")
|
||||
tdSql.execute("create database test2 cachelast 1")
|
||||
print("============== Step9: create database test2 cachemodel 'last_row'")
|
||||
tdSql.execute("create database test2 cachemodel 'last_row'")
|
||||
tdSql.execute("use test2")
|
||||
self.insertData()
|
||||
self.executeQueries()
|
||||
|
@ -201,45 +201,45 @@ class TDTestCase:
|
|||
tdDnodes.start(1)
|
||||
self.executeQueries2()
|
||||
|
||||
print("============== Step8: alter database test2 cachelast 0")
|
||||
tdSql.execute("alter database test2 cachelast 0")
|
||||
print("============== Step8: alter database test2 cachemodel 'none'")
|
||||
tdSql.execute("alter database test2 cachemodel 'none'")
|
||||
self.executeQueries2()
|
||||
|
||||
print("============== Step9: alter database test2 cachelast 1")
|
||||
tdSql.execute("alter database test2 cachelast 1")
|
||||
print("============== Step9: alter database test2 cachemodel 'last_row'")
|
||||
tdSql.execute("alter database test2 cachemodel 'last_row'")
|
||||
self.executeQueries2()
|
||||
|
||||
print("============== Step10: alter database test2 cachelast 2")
|
||||
tdSql.execute("alter database test2 cachelast 2")
|
||||
print("============== Step10: alter database test2 cachemodel 'last_value'")
|
||||
tdSql.execute("alter database test2 cachemodel 'last_value'")
|
||||
self.executeQueries2()
|
||||
|
||||
print("============== Step11: alter database test2 cachelast 3")
|
||||
tdSql.execute("alter database test2 cachelast 3")
|
||||
print("============== Step11: alter database test2 cachemodel 'both'")
|
||||
tdSql.execute("alter database test2 cachemodel 'both'")
|
||||
self.executeQueries2()
|
||||
|
||||
print("============== Step12: alter database test2 cachelast 0 and restart taosd")
|
||||
tdSql.execute("alter database test2 cachelast 0")
|
||||
print("============== Step12: alter database test2 cachemodel 'none' and restart taosd")
|
||||
tdSql.execute("alter database test2 cachemodel 'none'")
|
||||
self.executeQueries2()
|
||||
tdDnodes.stop(1)
|
||||
tdDnodes.start(1)
|
||||
self.executeQueries2()
|
||||
|
||||
print("============== Step13: alter database test2 cachelast 1 and restart taosd")
|
||||
tdSql.execute("alter database test2 cachelast 1")
|
||||
print("============== Step13: alter database test2 cachemodel 'last_row' and restart taosd")
|
||||
tdSql.execute("alter database test2 cachemodel 'last_row'")
|
||||
self.executeQueries2()
|
||||
tdDnodes.stop(1)
|
||||
tdDnodes.start(1)
|
||||
self.executeQueries2()
|
||||
|
||||
print("============== Step14: alter database test2 cachelast 2 and restart taosd")
|
||||
tdSql.execute("alter database test2 cachelast 2")
|
||||
print("============== Step14: alter database test2 cachemodel 'last_value' and restart taosd")
|
||||
tdSql.execute("alter database test2 cachemodel 'last_value'")
|
||||
self.executeQueries2()
|
||||
tdDnodes.stop(1)
|
||||
tdDnodes.start(1)
|
||||
self.executeQueries2()
|
||||
|
||||
print("============== Step15: alter database test2 cachelast 3 and restart taosd")
|
||||
tdSql.execute("alter database test2 cachelast 3")
|
||||
print("============== Step15: alter database test2 cachemodel 'both' and restart taosd")
|
||||
tdSql.execute("alter database test2 cachemodel 'both'")
|
||||
self.executeQueries2()
|
||||
tdDnodes.stop(1)
|
||||
tdDnodes.start(1)
|
||||
|
|
|
@ -39,6 +39,6 @@ class DataBoundary:
|
|||
self.DB_PARAM_PRECISION_CONFIG = {"create_name": "precision", "query_name": "precision", "vnode_json_key": "", "boundary": ['ms', 'us', 'ns'], "default": "ms"}
|
||||
self.DB_PARAM_REPLICA_CONFIG = {"create_name": "replica", "query_name": "replica", "vnode_json_key": "", "boundary": [1], "default": 1}
|
||||
self.DB_PARAM_SINGLE_STABLE_CONFIG = {"create_name": "single_stable", "query_name": "single_stable_model", "vnode_json_key": "", "boundary": [0, 1], "default": 0}
|
||||
self.DB_PARAM_STRICT_CONFIG = {"create_name": "strict", "query_name": "strict", "vnode_json_key": "", "boundary": {"no_strict": 0, "strict": 1}, "default": "no_strict"}
|
||||
self.DB_PARAM_STRICT_CONFIG = {"create_name": "strict", "query_name": "strict", "vnode_json_key": "", "boundary": {"off": 0, "strict": 1}, "default": "off"}
|
||||
self.DB_PARAM_VGROUPS_CONFIG = {"create_name": "vgroups", "query_name": "vgroups", "vnode_json_key": "", "boundary": [1, 32], "default": 2}
|
||||
self.DB_PARAM_WAL_CONFIG = {"create_name": "wal", "query_name": "wal", "vnode_json_key": "", "boundary": [1, 2], "default": 1}
|
|
@ -69,7 +69,7 @@ endi
|
|||
if $data4_db != 3 then # replica
|
||||
return -1
|
||||
endi
|
||||
if $data5_db != no_strict then # strict
|
||||
if $data5_db != off then # strict
|
||||
return -1
|
||||
endi
|
||||
if $data6_db != 345600m then # duration
|
||||
|
@ -333,31 +333,31 @@ sql_error alter database db comp 5
|
|||
sql_error alter database db comp -1
|
||||
|
||||
print ============== modify cachelast [0, 1, 2, 3]
|
||||
sql alter database db cachelast 2
|
||||
sql alter database db cachemodel 'last_value'
|
||||
sql show databases
|
||||
print cachelast $data16_db
|
||||
if $data16_db != 2 then
|
||||
return -1
|
||||
endi
|
||||
sql alter database db cachelast 1
|
||||
sql alter database db cachemodel 'last_row'
|
||||
sql show databases
|
||||
print cachelast $data16_db
|
||||
if $data16_db != 1 then
|
||||
return -1
|
||||
endi
|
||||
sql alter database db cachelast 0
|
||||
sql alter database db cachemodel 'none'
|
||||
sql show databases
|
||||
print cachelast $data16_db
|
||||
if $data16_db != 0 then
|
||||
return -1
|
||||
endi
|
||||
sql alter database db cachelast 2
|
||||
sql alter database db cachemodel 'last_value'
|
||||
sql show databases
|
||||
print cachelast $data16_db
|
||||
if $data16_db != 2 then
|
||||
return -1
|
||||
endi
|
||||
sql alter database db cachelast 3
|
||||
sql alter database db cachemodel 'both'
|
||||
sql show databases
|
||||
print cachelast $data16_db
|
||||
if $data16_db != 3 then
|
||||
|
|
|
@ -15,7 +15,7 @@ $tb = $tbPrefix . $i
|
|||
|
||||
print =============== step1
|
||||
# quorum presicion
|
||||
sql create database $db vgroups 8 replica 1 duration 2 keep 10 minrows 80 maxrows 10000 wal 2 fsync 1000 comp 0 cachelast 2 precision 'us'
|
||||
sql create database $db vgroups 8 replica 1 duration 2 keep 10 minrows 80 maxrows 10000 wal 2 fsync 1000 comp 0 cachemodel 'last_value' precision 'us'
|
||||
sql show databases
|
||||
print $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ if $data4_db != 1 then # replica
|
|||
print expect 1, actual: $data4_db
|
||||
return -1
|
||||
endi
|
||||
if $data5_db != no_strict then # strict
|
||||
if $data5_db != off then # strict
|
||||
return -1
|
||||
endi
|
||||
if $data6_db != 14400m then # duration
|
||||
|
|
|
@ -7,7 +7,7 @@ print ======================== dnode1 start
|
|||
|
||||
$db = testdb
|
||||
sql drop database if exists $db
|
||||
sql create database $db cachelast 2
|
||||
sql create database $db cachemodel 'last_value'
|
||||
sql use $db
|
||||
|
||||
sql create stable st2 (ts timestamp, f1 int, f2 double, f3 binary(10), f4 timestamp) tags (id int)
|
||||
|
|
|
@ -8,7 +8,7 @@ print ======================== dnode1 start
|
|||
|
||||
$db = testdb
|
||||
sql drop database if exists $db
|
||||
sql create database $db cachelast 2
|
||||
sql create database $db cachemodel 'last_value'
|
||||
sql use $db
|
||||
|
||||
$table1 = table_name
|
||||
|
|
|
@ -25,7 +25,7 @@ class TDTestCase:
|
|||
def insert_datas_and_check_abs(self ,tbnums , rownums , time_step ):
|
||||
tdLog.info(" prepare datas for auto check abs function ")
|
||||
|
||||
tdSql.execute(" create database test cachelast 1 ")
|
||||
tdSql.execute(" create database test cachemodel 'last_row' ")
|
||||
tdSql.execute(" use test ")
|
||||
tdSql.execute(" create stable stb (ts timestamp, c1 int, c2 bigint, c3 smallint, c4 tinyint,\
|
||||
c5 float, c6 double, c7 bool, c8 binary(16),c9 nchar(32), c10 timestamp) tags (t1 int)")
|
||||
|
@ -63,7 +63,7 @@ class TDTestCase:
|
|||
|
||||
|
||||
def prepare_datas(self):
|
||||
tdSql.execute("create database if not exists db keep 3650 duration 1000 cachelast 1")
|
||||
tdSql.execute("create database if not exists db keep 3650 duration 1000 cachemodel 'last_row'")
|
||||
tdSql.execute("use db")
|
||||
tdSql.execute(
|
||||
'''create table stb1
|
||||
|
@ -124,7 +124,7 @@ class TDTestCase:
|
|||
def prepare_tag_datas(self):
|
||||
# prepare datas
|
||||
tdSql.execute(
|
||||
"create database if not exists testdb keep 3650 duration 1000 cachelast 1")
|
||||
"create database if not exists testdb keep 3650 duration 1000 cachemodel 'last_row'")
|
||||
tdSql.execute(" use testdb ")
|
||||
|
||||
tdSql.execute(f" create stable stb1 (ts timestamp, c1 int, c2 bigint, c3 smallint, c4 tinyint, c5 float, c6 double, c7 bool, c8 binary(16),c9 nchar(32), c10 timestamp , uc1 int unsigned,\
|
||||
|
@ -528,7 +528,7 @@ class TDTestCase:
|
|||
def check_boundary_values(self):
|
||||
|
||||
tdSql.execute("drop database if exists bound_test")
|
||||
tdSql.execute("create database if not exists bound_test cachelast 2")
|
||||
tdSql.execute("create database if not exists bound_test cachemodel 'last_value'")
|
||||
time.sleep(3)
|
||||
tdSql.execute("use bound_test")
|
||||
tdSql.execute(
|
||||
|
|
|
@ -122,9 +122,9 @@ class TDTestCase:
|
|||
tdSql.execute(f'create table ct{i+1} using stb1 tags ( {i+1} )')
|
||||
|
||||
tdSql.query('show databases;')
|
||||
tdSql.checkData(2,5,'no_strict')
|
||||
tdSql.error('alter database db strict 0')
|
||||
# tdSql.execute('alter database db strict 1')
|
||||
tdSql.checkData(2,5,'off')
|
||||
tdSql.error('alter database db strict 'off'')
|
||||
# tdSql.execute('alter database db strict 'on'')
|
||||
# tdSql.query('show databases;')
|
||||
# tdSql.checkData(2,5,'strict')
|
||||
|
||||
|
|
Loading…
Reference in New Issue