enhance show variables output
This commit is contained in:
parent
e7e923a396
commit
7935d824b6
|
@ -1510,6 +1510,7 @@ int32_t tDeserializeSShowVariablesReq(void* buf, int32_t bufLen, SShowVariablesR
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char name[TSDB_CONFIG_OPTION_LEN + 1];
|
char name[TSDB_CONFIG_OPTION_LEN + 1];
|
||||||
char value[TSDB_CONFIG_VALUE_LEN + 1];
|
char value[TSDB_CONFIG_VALUE_LEN + 1];
|
||||||
|
char scope[TSDB_CONFIG_SCOPE_LEN + 1];
|
||||||
} SVariablesInfo;
|
} SVariablesInfo;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
|
@ -492,6 +492,7 @@ enum {
|
||||||
|
|
||||||
#define TSDB_CONFIG_OPTION_LEN 32
|
#define TSDB_CONFIG_OPTION_LEN 32
|
||||||
#define TSDB_CONFIG_VALUE_LEN 64
|
#define TSDB_CONFIG_VALUE_LEN 64
|
||||||
|
#define TSDB_CONFIG_SCOPE_LEN 8
|
||||||
#define TSDB_CONFIG_NUMBER 8
|
#define TSDB_CONFIG_NUMBER 8
|
||||||
|
|
||||||
#define QUERY_ID_SIZE 20
|
#define QUERY_ID_SIZE 20
|
||||||
|
|
|
@ -46,9 +46,10 @@ enum {
|
||||||
RES_TYPE__TMQ_METADATA,
|
RES_TYPE__TMQ_METADATA,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define SHOW_VARIABLES_RESULT_COLS 2
|
#define SHOW_VARIABLES_RESULT_COLS 3
|
||||||
#define SHOW_VARIABLES_RESULT_FIELD1_LEN (TSDB_CONFIG_OPTION_LEN + VARSTR_HEADER_SIZE)
|
#define SHOW_VARIABLES_RESULT_FIELD1_LEN (TSDB_CONFIG_OPTION_LEN + VARSTR_HEADER_SIZE)
|
||||||
#define SHOW_VARIABLES_RESULT_FIELD2_LEN (TSDB_CONFIG_VALUE_LEN + VARSTR_HEADER_SIZE)
|
#define SHOW_VARIABLES_RESULT_FIELD2_LEN (TSDB_CONFIG_VALUE_LEN + VARSTR_HEADER_SIZE)
|
||||||
|
#define SHOW_VARIABLES_RESULT_FIELD3_LEN (TSDB_CONFIG_SCOPE_LEN + VARSTR_HEADER_SIZE)
|
||||||
|
|
||||||
#define TD_RES_QUERY(res) (*(int8_t*)res == RES_TYPE__QUERY)
|
#define TD_RES_QUERY(res) (*(int8_t*)res == RES_TYPE__QUERY)
|
||||||
#define TD_RES_TMQ(res) (*(int8_t*)res == RES_TYPE__TMQ)
|
#define TD_RES_TMQ(res) (*(int8_t*)res == RES_TYPE__TMQ)
|
||||||
|
|
|
@ -427,13 +427,16 @@ static int32_t buildShowVariablesBlock(SArray* pVars, SSDataBlock** block) {
|
||||||
SColumnInfoData infoData = {0};
|
SColumnInfoData infoData = {0};
|
||||||
infoData.info.type = TSDB_DATA_TYPE_VARCHAR;
|
infoData.info.type = TSDB_DATA_TYPE_VARCHAR;
|
||||||
infoData.info.bytes = SHOW_VARIABLES_RESULT_FIELD1_LEN;
|
infoData.info.bytes = SHOW_VARIABLES_RESULT_FIELD1_LEN;
|
||||||
|
|
||||||
taosArrayPush(pBlock->pDataBlock, &infoData);
|
taosArrayPush(pBlock->pDataBlock, &infoData);
|
||||||
|
|
||||||
infoData.info.type = TSDB_DATA_TYPE_VARCHAR;
|
infoData.info.type = TSDB_DATA_TYPE_VARCHAR;
|
||||||
infoData.info.bytes = SHOW_VARIABLES_RESULT_FIELD2_LEN;
|
infoData.info.bytes = SHOW_VARIABLES_RESULT_FIELD2_LEN;
|
||||||
taosArrayPush(pBlock->pDataBlock, &infoData);
|
taosArrayPush(pBlock->pDataBlock, &infoData);
|
||||||
|
|
||||||
|
infoData.info.type = TSDB_DATA_TYPE_VARCHAR;
|
||||||
|
infoData.info.bytes = SHOW_VARIABLES_RESULT_FIELD3_LEN;
|
||||||
|
taosArrayPush(pBlock->pDataBlock, &infoData);
|
||||||
|
|
||||||
int32_t numOfCfg = taosArrayGetSize(pVars);
|
int32_t numOfCfg = taosArrayGetSize(pVars);
|
||||||
blockDataEnsureCapacity(pBlock, numOfCfg);
|
blockDataEnsureCapacity(pBlock, numOfCfg);
|
||||||
|
|
||||||
|
@ -449,6 +452,11 @@ static int32_t buildShowVariablesBlock(SArray* pVars, SSDataBlock** block) {
|
||||||
STR_WITH_MAXSIZE_TO_VARSTR(value, pInfo->value, TSDB_CONFIG_VALUE_LEN + VARSTR_HEADER_SIZE);
|
STR_WITH_MAXSIZE_TO_VARSTR(value, pInfo->value, TSDB_CONFIG_VALUE_LEN + VARSTR_HEADER_SIZE);
|
||||||
pColInfo = taosArrayGet(pBlock->pDataBlock, c++);
|
pColInfo = taosArrayGet(pBlock->pDataBlock, c++);
|
||||||
colDataSetVal(pColInfo, i, value, false);
|
colDataSetVal(pColInfo, i, value, false);
|
||||||
|
|
||||||
|
char scope[TSDB_CONFIG_SCOPE_LEN + VARSTR_HEADER_SIZE] = {0};
|
||||||
|
STR_WITH_MAXSIZE_TO_VARSTR(scope, pInfo->scope, TSDB_CONFIG_VALUE_LEN + VARSTR_HEADER_SIZE);
|
||||||
|
pColInfo = taosArrayGet(pBlock->pDataBlock, c++);
|
||||||
|
colDataSetVal(pColInfo, i, scope, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
pBlock->info.rows = numOfCfg;
|
pBlock->info.rows = numOfCfg;
|
||||||
|
|
|
@ -3528,12 +3528,14 @@ int32_t tDeserializeSShowVariablesReq(void *buf, int32_t bufLen, SShowVariablesR
|
||||||
int32_t tEncodeSVariablesInfo(SEncoder *pEncoder, SVariablesInfo *pInfo) {
|
int32_t tEncodeSVariablesInfo(SEncoder *pEncoder, SVariablesInfo *pInfo) {
|
||||||
if (tEncodeCStr(pEncoder, pInfo->name) < 0) return -1;
|
if (tEncodeCStr(pEncoder, pInfo->name) < 0) return -1;
|
||||||
if (tEncodeCStr(pEncoder, pInfo->value) < 0) return -1;
|
if (tEncodeCStr(pEncoder, pInfo->value) < 0) return -1;
|
||||||
|
if (tEncodeCStr(pEncoder, pInfo->scope) < 0) return -1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t tDecodeSVariablesInfo(SDecoder *pDecoder, SVariablesInfo *pInfo) {
|
int32_t tDecodeSVariablesInfo(SDecoder *pDecoder, SVariablesInfo *pInfo) {
|
||||||
if (tDecodeCStrTo(pDecoder, pInfo->name) < 0) return -1;
|
if (tDecodeCStrTo(pDecoder, pInfo->name) < 0) return -1;
|
||||||
if (tDecodeCStrTo(pDecoder, pInfo->value) < 0) return -1;
|
if (tDecodeCStrTo(pDecoder, pInfo->value) < 0) return -1;
|
||||||
|
if (tDecodeCStrTo(pDecoder, pInfo->scope) < 0) return -1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -783,18 +783,22 @@ static int32_t mndProcessShowVariablesReq(SRpcMsg *pReq) {
|
||||||
|
|
||||||
strcpy(info.name, "statusInterval");
|
strcpy(info.name, "statusInterval");
|
||||||
snprintf(info.value, TSDB_CONFIG_VALUE_LEN, "%d", tsStatusInterval);
|
snprintf(info.value, TSDB_CONFIG_VALUE_LEN, "%d", tsStatusInterval);
|
||||||
|
strcpy(info.scope, "server");
|
||||||
taosArrayPush(rsp.variables, &info);
|
taosArrayPush(rsp.variables, &info);
|
||||||
|
|
||||||
strcpy(info.name, "timezone");
|
strcpy(info.name, "timezone");
|
||||||
snprintf(info.value, TSDB_CONFIG_VALUE_LEN, "%s", tsTimezoneStr);
|
snprintf(info.value, TSDB_CONFIG_VALUE_LEN, "%s", tsTimezoneStr);
|
||||||
|
strcpy(info.scope, "server");
|
||||||
taosArrayPush(rsp.variables, &info);
|
taosArrayPush(rsp.variables, &info);
|
||||||
|
|
||||||
strcpy(info.name, "locale");
|
strcpy(info.name, "locale");
|
||||||
snprintf(info.value, TSDB_CONFIG_VALUE_LEN, "%s", tsLocale);
|
snprintf(info.value, TSDB_CONFIG_VALUE_LEN, "%s", tsLocale);
|
||||||
|
strcpy(info.scope, "server");
|
||||||
taosArrayPush(rsp.variables, &info);
|
taosArrayPush(rsp.variables, &info);
|
||||||
|
|
||||||
strcpy(info.name, "charset");
|
strcpy(info.name, "charset");
|
||||||
snprintf(info.value, TSDB_CONFIG_VALUE_LEN, "%s", tsCharset);
|
snprintf(info.value, TSDB_CONFIG_VALUE_LEN, "%s", tsCharset);
|
||||||
|
strcpy(info.scope, "server");
|
||||||
taosArrayPush(rsp.variables, &info);
|
taosArrayPush(rsp.variables, &info);
|
||||||
|
|
||||||
int32_t rspLen = tSerializeSShowVariablesRsp(NULL, 0, &rsp);
|
int32_t rspLen = tSerializeSShowVariablesRsp(NULL, 0, &rsp);
|
||||||
|
|
|
@ -7707,7 +7707,7 @@ static int32_t extractShowCreateTableResultSchema(int32_t* numOfCols, SSchema**
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t extractShowVariablesResultSchema(int32_t* numOfCols, SSchema** pSchema) {
|
static int32_t extractShowVariablesResultSchema(int32_t* numOfCols, SSchema** pSchema) {
|
||||||
*numOfCols = 2;
|
*numOfCols = 3;
|
||||||
*pSchema = taosMemoryCalloc((*numOfCols), sizeof(SSchema));
|
*pSchema = taosMemoryCalloc((*numOfCols), sizeof(SSchema));
|
||||||
if (NULL == (*pSchema)) {
|
if (NULL == (*pSchema)) {
|
||||||
return TSDB_CODE_OUT_OF_MEMORY;
|
return TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
@ -7721,6 +7721,10 @@ static int32_t extractShowVariablesResultSchema(int32_t* numOfCols, SSchema** pS
|
||||||
(*pSchema)[1].bytes = TSDB_CONFIG_VALUE_LEN;
|
(*pSchema)[1].bytes = TSDB_CONFIG_VALUE_LEN;
|
||||||
strcpy((*pSchema)[1].name, "value");
|
strcpy((*pSchema)[1].name, "value");
|
||||||
|
|
||||||
|
(*pSchema)[2].type = TSDB_DATA_TYPE_BINARY;
|
||||||
|
(*pSchema)[2].bytes = TSDB_CONFIG_SCOPE_LEN;
|
||||||
|
strcpy((*pSchema)[2].name, "scope");
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue