fix: sColumnOption->json
This commit is contained in:
parent
ec227180e1
commit
aaff23b4b8
|
@ -177,10 +177,8 @@ typedef struct SColumnDefNode {
|
|||
ENodeType type;
|
||||
char colName[TSDB_COL_NAME_LEN];
|
||||
SDataType dataType;
|
||||
char comments[TSDB_TB_COMMENT_LEN];
|
||||
SColumnOptions* pOptions;
|
||||
bool sma;
|
||||
bool is_pk;
|
||||
} SColumnDefNode;
|
||||
|
||||
typedef struct SCreateTableStmt {
|
||||
|
|
|
@ -4704,7 +4704,7 @@ static const char* jkColumnDefColName = "ColName";
|
|||
static const char* jkColumnDefDataType = "DataType";
|
||||
static const char* jkColumnDefComments = "Comments";
|
||||
static const char* jkColumnDefSma = "Sma";
|
||||
static const char* jkColumnDefIsPK = "IsPK";
|
||||
static const char* jkColumnDefOptions = "ColumnOptions";
|
||||
|
||||
static int32_t columnDefNodeToJson(const void* pObj, SJson* pJson) {
|
||||
const SColumnDefNode* pNode = (const SColumnDefNode*)pObj;
|
||||
|
@ -4713,14 +4713,11 @@ static int32_t columnDefNodeToJson(const void* pObj, SJson* pJson) {
|
|||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonAddObject(pJson, jkColumnDefDataType, dataTypeToJson, &pNode->dataType);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonAddStringToObject(pJson, jkColumnDefComments, pNode->comments);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonAddBoolToObject(pJson, jkColumnDefSma, pNode->sma);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonAddBoolToObject(pJson, jkColumnDefIsPK, pNode->is_pk);
|
||||
code = tjsonAddObject(pJson, jkColumnDefOptions, nodeToJson, pNode->pOptions);
|
||||
}
|
||||
|
||||
return code;
|
||||
|
@ -4733,14 +4730,11 @@ static int32_t jsonToColumnDefNode(const SJson* pJson, void* pObj) {
|
|||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonToObject(pJson, jkColumnDefDataType, jsonToDataType, &pNode->dataType);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonGetStringValue(pJson, jkColumnDefComments, pNode->comments);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonGetBoolValue(pJson, jkColumnDefSma, &pNode->sma);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonGetBoolValue(pJson, jkColumnDefIsPK, &pNode->is_pk);
|
||||
code = jsonToNodeObject(pJson, jkColumnDefOptions, (SNode**)&pNode->pOptions);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
|
|
@ -1555,8 +1555,6 @@ SNode* createColumnDefNode(SAstCreateContext* pCxt, SToken* pColName, SDataType
|
|||
pCol->dataType = dataType;
|
||||
pCol->pOptions = (SColumnOptions*)pNode;
|
||||
pCol->sma = true;
|
||||
// pNode equals to NULL means that the column is a tag.
|
||||
pCol->is_pk = (SColumnOptions*)pNode ? ((SColumnOptions*)pNode)->bPrimaryKey : false;
|
||||
return (SNode*)pCol;
|
||||
}
|
||||
|
||||
|
|
|
@ -5808,9 +5808,6 @@ static int32_t tagDefNodeToField(SNodeList* pList, SArray** pArray) {
|
|||
if (pCol->sma) {
|
||||
field.flags |= COL_SMA_ON;
|
||||
}
|
||||
if (pCol->is_pk) {
|
||||
field.flags |= COL_IS_KEY;
|
||||
}
|
||||
taosArrayPush(*pArray, &field);
|
||||
}
|
||||
return TSDB_CODE_SUCCESS;
|
||||
|
@ -5910,9 +5907,6 @@ static int32_t checkTableTagsSchema(STranslateContext* pCxt, SHashObj* pHash, SN
|
|||
if (NULL != taosHashGet(pHash, pTag->colName, len)) {
|
||||
code = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_DUPLICATED_COLUMN);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code && pTag->is_pk) {
|
||||
code = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_TAG_IS_PRIMARY_KEY, pTag->colName);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code && pTag->dataType.type == TSDB_DATA_TYPE_JSON && ntags > 1) {
|
||||
code = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_ONLY_ONE_JSON_TAG);
|
||||
}
|
||||
|
@ -5969,7 +5963,7 @@ static int32_t checkTableColsSchema(STranslateContext* pCxt, SHashObj* pHash, in
|
|||
code = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_FIRST_COLUMN);
|
||||
}
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code && pCol->is_pk && colIndex != 1) {
|
||||
if (TSDB_CODE_SUCCESS == code && pCol->pOptions && pCol->pOptions->bPrimaryKey && colIndex != 1) {
|
||||
code = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_SECOND_COL_PK);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code && pCol->dataType.type == TSDB_DATA_TYPE_JSON) {
|
||||
|
@ -6193,7 +6187,7 @@ static void toSchema(const SColumnDefNode* pCol, col_id_t colId, SSchema* pSchem
|
|||
if (pCol->sma) {
|
||||
flags |= COL_SMA_ON;
|
||||
}
|
||||
if (pCol->is_pk) {
|
||||
if (pCol->pOptions && pCol->pOptions->bPrimaryKey) {
|
||||
flags |= COL_IS_KEY;
|
||||
}
|
||||
pSchema->colId = colId;
|
||||
|
|
Loading…
Reference in New Issue