schemaless:multi-thread ignore some errors
This commit is contained in:
parent
ae23e50a10
commit
2afaf1a0e4
|
@ -371,6 +371,11 @@ static int32_t applySchemaAction(TAOS* taos, SSchemaAction* action, SSmlLinesInf
|
|||
buildColumnDescription(action->alterSTable.field, result+n, capacity-n, &outBytes);
|
||||
TAOS_RES* res = taos_query(taos, result); //TODO async doAsyncQuery
|
||||
code = taos_errno(res);
|
||||
if (code == TSDB_CODE_MND_FIELD_ALREAY_EXIST) {
|
||||
TAOS_RES* res2 = taos_query(taos, "RESET QUERY CACHE");
|
||||
code = taos_errno(res2);
|
||||
taos_free_result(res2);
|
||||
}
|
||||
taos_free_result(res);
|
||||
break;
|
||||
}
|
||||
|
@ -380,6 +385,11 @@ static int32_t applySchemaAction(TAOS* taos, SSchemaAction* action, SSmlLinesInf
|
|||
result+n, capacity-n, &outBytes);
|
||||
TAOS_RES* res = taos_query(taos, result); //TODO async doAsyncQuery
|
||||
code = taos_errno(res);
|
||||
if (code == TSDB_CODE_MND_TAG_ALREAY_EXIST) {
|
||||
TAOS_RES* res2 = taos_query(taos, "RESET QUERY CACHE");
|
||||
code = taos_errno(res2);
|
||||
taos_free_result(res2);
|
||||
}
|
||||
taos_free_result(res);
|
||||
break;
|
||||
}
|
||||
|
@ -389,6 +399,11 @@ static int32_t applySchemaAction(TAOS* taos, SSchemaAction* action, SSmlLinesInf
|
|||
capacity-n, &outBytes);
|
||||
TAOS_RES* res = taos_query(taos, result); //TODO async doAsyncQuery
|
||||
code = taos_errno(res);
|
||||
if (code == TSDB_CODE_MND_INVALID_COLUMN_LENGTH) {
|
||||
TAOS_RES* res2 = taos_query(taos, "RESET QUERY CACHE");
|
||||
code = taos_errno(res2);
|
||||
taos_free_result(res2);
|
||||
}
|
||||
taos_free_result(res);
|
||||
break;
|
||||
}
|
||||
|
@ -398,6 +413,11 @@ static int32_t applySchemaAction(TAOS* taos, SSchemaAction* action, SSmlLinesInf
|
|||
capacity-n, &outBytes);
|
||||
TAOS_RES* res = taos_query(taos, result); //TODO async doAsyncQuery
|
||||
code = taos_errno(res);
|
||||
if (code == TSDB_CODE_MND_INVALID_TAG_LENGTH) {
|
||||
TAOS_RES* res2 = taos_query(taos, "RESET QUERY CACHE");
|
||||
code = taos_errno(res2);
|
||||
taos_free_result(res2);
|
||||
}
|
||||
taos_free_result(res);
|
||||
break;
|
||||
}
|
||||
|
@ -427,6 +447,11 @@ static int32_t applySchemaAction(TAOS* taos, SSchemaAction* action, SSmlLinesInf
|
|||
outBytes = snprintf(pos, freeBytes, ")");
|
||||
TAOS_RES* res = taos_query(taos, result);
|
||||
code = taos_errno(res);
|
||||
if (code == TSDB_CODE_MND_TABLE_ALREADY_EXIST) {
|
||||
TAOS_RES* res2 = taos_query(taos, "RESET QUERY CACHE");
|
||||
code = taos_errno(res2);
|
||||
taos_free_result(res2);
|
||||
}
|
||||
taos_free_result(res);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -211,6 +211,9 @@ int32_t* taosGetErrno();
|
|||
#define TSDB_CODE_DND_TOO_MANY_VNODES TAOS_DEF_ERROR_CODE(0, 0x0405) //"Too many vnode directories")
|
||||
#define TSDB_CODE_DND_EXITING TAOS_DEF_ERROR_CODE(0, 0x0406) //"Dnode is exiting"
|
||||
|
||||
#define TSDB_CODE_MND_INVALID_TAG_LENGTH TAOS_DEF_ERROR_CODE(0, 0x410) //"invalid tag length")
|
||||
#define TSDB_CODE_MND_INVALID_COLUMN_LENGTH TAOS_DEF_ERROR_CODE(0, 0x411) //"invalid column length")
|
||||
|
||||
// vnode
|
||||
#define TSDB_CODE_VND_ACTION_IN_PROGRESS TAOS_DEF_ERROR_CODE(0, 0x0500) //"Action in progress")
|
||||
#define TSDB_CODE_VND_MSG_NOT_PROCESSED TAOS_DEF_ERROR_CODE(0, 0x0501) //"Message not processed")
|
||||
|
|
|
@ -1519,6 +1519,13 @@ static int32_t mnodeChangeSuperTableColumn(SMnodeMsg *pMsg) {
|
|||
SSchema *schema = (SSchema *) (pStable->schema + col);
|
||||
ASSERT(schema->type == TSDB_DATA_TYPE_BINARY || schema->type == TSDB_DATA_TYPE_NCHAR);
|
||||
schema->bytes = pAlter->schema[0].bytes;
|
||||
|
||||
if (pAlter->schema[0].bytes <= schema->bytes) {
|
||||
mError("msg:%p, app:%p stable:%s, modify column len. column:%s, len from %d to %d", pMsg, pMsg->rpcMsg.ahandle,
|
||||
pStable->info.tableId, name, schema->bytes, pAlter->schema[0].bytes);
|
||||
return TSDB_CODE_MND_INVALID_COLUMN_LENGTH;
|
||||
}
|
||||
|
||||
pStable->sversion++;
|
||||
mInfo("msg:%p, app:%p stable %s, start to modify column %s len to %d", pMsg, pMsg->rpcMsg.ahandle, pStable->info.tableId,
|
||||
name, schema->bytes);
|
||||
|
@ -1548,6 +1555,12 @@ static int32_t mnodeChangeSuperTableTag(SMnodeMsg *pMsg) {
|
|||
// update
|
||||
SSchema *schema = (SSchema *) (pStable->schema + col + pStable->numOfColumns);
|
||||
ASSERT(schema->type == TSDB_DATA_TYPE_BINARY || schema->type == TSDB_DATA_TYPE_NCHAR);
|
||||
if (pAlter->schema[0].bytes <= schema->bytes) {
|
||||
mError("msg:%p, app:%p stable:%s, modify tag len. tag:%s, len from %d to %d", pMsg, pMsg->rpcMsg.ahandle,
|
||||
pStable->info.tableId, name, schema->bytes, pAlter->schema[0].bytes);
|
||||
return TSDB_CODE_MND_INVALID_TAG_LENGTH;
|
||||
}
|
||||
|
||||
schema->bytes = pAlter->schema[0].bytes;
|
||||
pStable->tversion++;
|
||||
mInfo("msg:%p, app:%p stable %s, start to modify tag len %s to %d", pMsg, pMsg->rpcMsg.ahandle, pStable->info.tableId,
|
||||
|
|
Loading…
Reference in New Issue