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