fix: column node and function node util copy/json/msg
This commit is contained in:
parent
c7f108181d
commit
61f91b57fa
|
@ -75,7 +75,6 @@ typedef struct SColumnNode {
|
|||
SExprNode node; // QUERY_NODE_COLUMN
|
||||
uint64_t tableId;
|
||||
int8_t tableType;
|
||||
bool tableHasPk;
|
||||
col_id_t colId;
|
||||
uint16_t projIdx; // the idx in project list, start from 1
|
||||
EColumnType colType; // column or tag
|
||||
|
@ -86,6 +85,7 @@ typedef struct SColumnNode {
|
|||
char colName[TSDB_COL_NAME_LEN];
|
||||
int16_t dataBlockId;
|
||||
int16_t slotId;
|
||||
bool tableHasPk;
|
||||
} SColumnNode;
|
||||
|
||||
typedef struct SColumnRefNode {
|
||||
|
|
|
@ -119,6 +119,7 @@ static int32_t columnNodeCopy(const SColumnNode* pSrc, SColumnNode* pDst) {
|
|||
COPY_CHAR_ARRAY_FIELD(colName);
|
||||
COPY_SCALAR_FIELD(dataBlockId);
|
||||
COPY_SCALAR_FIELD(slotId);
|
||||
COPY_SCALAR_FIELD(tableHasPk);
|
||||
return TSDB_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -208,6 +209,8 @@ static int32_t functionNodeCopy(const SFunctionNode* pSrc, SFunctionNode* pDst)
|
|||
COPY_SCALAR_FIELD(funcType);
|
||||
CLONE_NODE_LIST_FIELD(pParameterList);
|
||||
COPY_SCALAR_FIELD(udfBufSize);
|
||||
COPY_SCALAR_FIELD(hasPk);
|
||||
COPY_SCALAR_FIELD(pkBytes);
|
||||
return TSDB_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
@ -3614,6 +3614,7 @@ static const char* jkColumnTableAlias = "TableAlias";
|
|||
static const char* jkColumnColName = "ColName";
|
||||
static const char* jkColumnDataBlockId = "DataBlockId";
|
||||
static const char* jkColumnSlotId = "SlotId";
|
||||
static const char* jkColumnTableHasPk = "TableHasPk";
|
||||
|
||||
static int32_t columnNodeToJson(const void* pObj, SJson* pJson) {
|
||||
const SColumnNode* pNode = (const SColumnNode*)pObj;
|
||||
|
@ -3652,7 +3653,9 @@ static int32_t columnNodeToJson(const void* pObj, SJson* pJson) {
|
|||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonAddIntegerToObject(pJson, jkColumnSlotId, pNode->slotId);
|
||||
}
|
||||
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonAddBoolToObject(pJson, jkColumnTableHasPk, pNode->tableHasPk);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
|
@ -3693,7 +3696,9 @@ static int32_t jsonToColumnNode(const SJson* pJson, void* pObj) {
|
|||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonGetSmallIntValue(pJson, jkColumnSlotId, &pNode->slotId);
|
||||
}
|
||||
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonGetBoolValue(pJson, jkColumnTableHasPk, &pNode->tableHasPk);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
|
@ -4032,6 +4037,8 @@ static const char* jkFunctionId = "Id";
|
|||
static const char* jkFunctionType = "Type";
|
||||
static const char* jkFunctionParameter = "Parameters";
|
||||
static const char* jkFunctionUdfBufSize = "UdfBufSize";
|
||||
static const char* jkFunctionHasPk = "HasPk";
|
||||
static const char* jkFunctionPkBytes = "PkBytes";
|
||||
|
||||
static int32_t functionNodeToJson(const void* pObj, SJson* pJson) {
|
||||
const SFunctionNode* pNode = (const SFunctionNode*)pObj;
|
||||
|
@ -4052,7 +4059,12 @@ static int32_t functionNodeToJson(const void* pObj, SJson* pJson) {
|
|||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonAddIntegerToObject(pJson, jkFunctionUdfBufSize, pNode->udfBufSize);
|
||||
}
|
||||
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonAddIntegerToObject(pJson, jkFunctionHasPk, pNode->hasPk);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonAddIntegerToObject(pJson, jkFunctionPkBytes, pNode->pkBytes);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
|
@ -4075,7 +4087,12 @@ static int32_t jsonToFunctionNode(const SJson* pJson, void* pObj) {
|
|||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonGetIntValue(pJson, jkFunctionUdfBufSize, &pNode->udfBufSize);
|
||||
}
|
||||
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonGetBoolValue(pJson, jkFunctionHasPk, &pNode->hasPk);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tjsonGetIntValue(pJson, jkFunctionPkBytes, &pNode->pkBytes);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
|
|
|
@ -725,7 +725,9 @@ static int32_t columnNodeInlineToMsg(const void* pObj, STlvEncoder* pEncoder) {
|
|||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tlvEncodeValueI16(pEncoder, pNode->slotId);
|
||||
}
|
||||
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tlvEncodeValueBool(pEncoder, pNode->tableHasPk);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
|
@ -767,7 +769,9 @@ static int32_t msgToColumnNodeInline(STlvDecoder* pDecoder, void* pObj) {
|
|||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tlvDecodeValueI16(pDecoder, &pNode->slotId);
|
||||
}
|
||||
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tlvDecodeValueBool(pDecoder, &pNode->tableHasPk);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
|
@ -1091,7 +1095,9 @@ enum {
|
|||
FUNCTION_CODE_FUNCTION_ID,
|
||||
FUNCTION_CODE_FUNCTION_TYPE,
|
||||
FUNCTION_CODE_PARAMETERS,
|
||||
FUNCTION_CODE_UDF_BUF_SIZE
|
||||
FUNCTION_CODE_UDF_BUF_SIZE,
|
||||
FUNCTION_NODE_HAS_PK,
|
||||
FUNCTION_NODE_PK_BYTES
|
||||
};
|
||||
|
||||
static int32_t functionNodeToMsg(const void* pObj, STlvEncoder* pEncoder) {
|
||||
|
@ -1113,7 +1119,12 @@ static int32_t functionNodeToMsg(const void* pObj, STlvEncoder* pEncoder) {
|
|||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tlvEncodeI32(pEncoder, FUNCTION_CODE_UDF_BUF_SIZE, pNode->udfBufSize);
|
||||
}
|
||||
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tlvEncodeBool(pEncoder, FUNCTION_NODE_HAS_PK, pNode->hasPk);
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS == code) {
|
||||
code = tlvEncodeI32(pEncoder, FUNCTION_NODE_PK_BYTES, pNode->pkBytes);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
|
@ -1142,6 +1153,12 @@ static int32_t msgToFunctionNode(STlvDecoder* pDecoder, void* pObj) {
|
|||
case FUNCTION_CODE_UDF_BUF_SIZE:
|
||||
code = tlvDecodeI32(pTlv, &pNode->udfBufSize);
|
||||
break;
|
||||
case FUNCTION_NODE_HAS_PK:
|
||||
code = tlvDecodeBool(pTlv, &pNode->hasPk);
|
||||
break;
|
||||
case FUNCTION_NODE_PK_BYTES:
|
||||
code = tlvDecodeI32(pTlv, &pNode->pkBytes);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue