support add column compress
This commit is contained in:
parent
b364379671
commit
a1ccf91298
|
@ -199,6 +199,26 @@ static char* buildAlterSTableJson(void* alterData, int32_t alterDataLen) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case TSDB_ALTER_TABLE_ADD_COLUMN_WITH_COMPRESS_OPTION: {
|
||||||
|
SFieldWithOptions* field = taosArrayGet(req.pFields, 0);
|
||||||
|
cJSON* colName = cJSON_CreateString(field->name);
|
||||||
|
cJSON_AddItemToObject(json, "colName", colName);
|
||||||
|
cJSON* colType = cJSON_CreateNumber(field->type);
|
||||||
|
cJSON_AddItemToObject(json, "colType", colType);
|
||||||
|
|
||||||
|
if (field->type == TSDB_DATA_TYPE_BINARY || field->type == TSDB_DATA_TYPE_VARBINARY ||
|
||||||
|
field->type == TSDB_DATA_TYPE_GEOMETRY) {
|
||||||
|
int32_t length = field->bytes - VARSTR_HEADER_SIZE;
|
||||||
|
cJSON* cbytes = cJSON_CreateNumber(length);
|
||||||
|
cJSON_AddItemToObject(json, "colLength", cbytes);
|
||||||
|
} else if (field->type == TSDB_DATA_TYPE_NCHAR) {
|
||||||
|
int32_t length = (field->bytes - VARSTR_HEADER_SIZE) / TSDB_NCHAR_SIZE;
|
||||||
|
cJSON* cbytes = cJSON_CreateNumber(length);
|
||||||
|
cJSON_AddItemToObject(json, "colLength", cbytes);
|
||||||
|
}
|
||||||
|
setCompressOption(json, field->compress);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case TSDB_ALTER_TABLE_DROP_TAG:
|
case TSDB_ALTER_TABLE_DROP_TAG:
|
||||||
case TSDB_ALTER_TABLE_DROP_COLUMN: {
|
case TSDB_ALTER_TABLE_DROP_COLUMN: {
|
||||||
TAOS_FIELD* field = taosArrayGet(req.pFields, 0);
|
TAOS_FIELD* field = taosArrayGet(req.pFields, 0);
|
||||||
|
@ -546,6 +566,25 @@ static char* processAlterTable(SMqMetaRsp* metaRsp) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case TSDB_ALTER_TABLE_ADD_COLUMN_WITH_COMPRESS_OPTION: {
|
||||||
|
cJSON* colName = cJSON_CreateString(vAlterTbReq.colName);
|
||||||
|
cJSON_AddItemToObject(json, "colName", colName);
|
||||||
|
cJSON* colType = cJSON_CreateNumber(vAlterTbReq.type);
|
||||||
|
cJSON_AddItemToObject(json, "colType", colType);
|
||||||
|
|
||||||
|
if (vAlterTbReq.type == TSDB_DATA_TYPE_BINARY || vAlterTbReq.type == TSDB_DATA_TYPE_VARBINARY ||
|
||||||
|
vAlterTbReq.type == TSDB_DATA_TYPE_GEOMETRY) {
|
||||||
|
int32_t length = vAlterTbReq.bytes - VARSTR_HEADER_SIZE;
|
||||||
|
cJSON* cbytes = cJSON_CreateNumber(length);
|
||||||
|
cJSON_AddItemToObject(json, "colLength", cbytes);
|
||||||
|
} else if (vAlterTbReq.type == TSDB_DATA_TYPE_NCHAR) {
|
||||||
|
int32_t length = (vAlterTbReq.bytes - VARSTR_HEADER_SIZE) / TSDB_NCHAR_SIZE;
|
||||||
|
cJSON* cbytes = cJSON_CreateNumber(length);
|
||||||
|
cJSON_AddItemToObject(json, "colLength", cbytes);
|
||||||
|
}
|
||||||
|
setCompressOption(json, vAlterTbReq.compress);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case TSDB_ALTER_TABLE_DROP_COLUMN: {
|
case TSDB_ALTER_TABLE_DROP_COLUMN: {
|
||||||
cJSON* colName = cJSON_CreateString(vAlterTbReq.colName);
|
cJSON* colName = cJSON_CreateString(vAlterTbReq.colName);
|
||||||
cJSON_AddItemToObject(json, "colName", colName);
|
cJSON_AddItemToObject(json, "colName", colName);
|
||||||
|
|
|
@ -1828,7 +1828,7 @@ static int32_t mndAddSuperTableColumn(const SStbObj *pOld, SStbObj *pNew, SArray
|
||||||
|
|
||||||
SColCmpr *pCmpr = &pNew->pCmpr[pOld->numOfColumns + i];
|
SColCmpr *pCmpr = &pNew->pCmpr[pOld->numOfColumns + i];
|
||||||
pCmpr->id = pSchema->colId;
|
pCmpr->id = pSchema->colId;
|
||||||
pCmpr->alg = createDefaultColCmprByType(pSchema->type);
|
pCmpr->alg = pField->compress;
|
||||||
mInfo("stb:%s, start to add column %s", pNew->name, pSchema->name);
|
mInfo("stb:%s, start to add column %s", pNew->name, pSchema->name);
|
||||||
} else {
|
} else {
|
||||||
SField *pField = taosArrayGet(pFields, i);
|
SField *pField = taosArrayGet(pFields, i);
|
||||||
|
|
|
@ -2272,6 +2272,7 @@ int metaAlterTable(SMeta *pMeta, int64_t version, SVAlterTbReq *pReq, STableMeta
|
||||||
pMeta->changed = true;
|
pMeta->changed = true;
|
||||||
switch (pReq->action) {
|
switch (pReq->action) {
|
||||||
case TSDB_ALTER_TABLE_ADD_COLUMN:
|
case TSDB_ALTER_TABLE_ADD_COLUMN:
|
||||||
|
case TSDB_ALTER_TABLE_ADD_COLUMN_WITH_COMPRESS_OPTION:
|
||||||
case TSDB_ALTER_TABLE_DROP_COLUMN:
|
case TSDB_ALTER_TABLE_DROP_COLUMN:
|
||||||
case TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES:
|
case TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES:
|
||||||
case TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME:
|
case TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME:
|
||||||
|
|
Loading…
Reference in New Issue