enh: support set tag value with expr
This commit is contained in:
parent
4a563b6d50
commit
851ffe49ae
|
@ -6603,32 +6603,21 @@ static int32_t buildUpdateTagValReq(STranslateContext* pCxt, SAlterTableStmt* pS
|
|||
}
|
||||
pReq->colId = pSchema->colId;
|
||||
|
||||
SValueNode *pVal = NULL;
|
||||
|
||||
SDataType targetDt = schemaToDataType(pTableMeta->tableInfo.precision, pSchema);
|
||||
pCxt->errCode = createTagValFromExpr(pCxt, targetDt, (SNode*)pStmt->pVal, &pVal);
|
||||
if (pCxt->errCode) {
|
||||
return pCxt->errCode;
|
||||
}
|
||||
|
||||
/*
|
||||
if (QUERY_NODE_FUNCTION == pStmt->pVal->node.type) {
|
||||
pCxt->errCode = getFuncInfo(pCxt, (SFunctionNode*)pStmt->pVal);
|
||||
if (QUERY_NODE_VALUE != pStmt->pVal->node.type) {
|
||||
SValueNode *pVal = NULL;
|
||||
pCxt->errCode = createTagValFromExpr(pCxt, targetDt, (SNode*)pStmt->pVal, &pVal);
|
||||
if (pCxt->errCode) {
|
||||
return pCxt->errCode;
|
||||
}
|
||||
|
||||
if (DEAL_RES_ERROR == translateFunctionImpl(pCxt, (SFunctionNode**)&pStmt->pVal)) {
|
||||
return pCxt->errCode;
|
||||
}
|
||||
|
||||
nodesDestroyNode((SNode*)pStmt->pVal);
|
||||
pStmt->pVal = pVal;
|
||||
} else if (DEAL_RES_ERROR == translateValueImpl(pCxt, pStmt->pVal, targetDt, true)) {
|
||||
return pCxt->errCode;
|
||||
}
|
||||
*/
|
||||
|
||||
nodesDestroyNode((SNode*)pStmt->pVal);
|
||||
|
||||
pStmt->pVal = pVal;
|
||||
pReq->tagType = targetDt.type;
|
||||
if (targetDt.type == TSDB_DATA_TYPE_JSON) {
|
||||
if (pStmt->pVal->literal &&
|
||||
|
|
|
@ -23,9 +23,9 @@ void simpleTest() {
|
|||
|
||||
ASSERT_EQ(getTotalBufSize(pBuf), 1024);
|
||||
|
||||
SIDList list = getDataBufPagesIdList(pBuf, groupId);
|
||||
SIDList list = getDataBufPagesIdList(pBuf);
|
||||
ASSERT_EQ(taosArrayGetSize(list), 1);
|
||||
ASSERT_EQ(getNumOfBufGroupId(pBuf), 1);
|
||||
//ASSERT_EQ(getNumOfBufGroupId(pBuf), 1);
|
||||
|
||||
releaseBufPage(pBuf, pBufPage);
|
||||
|
||||
|
@ -98,7 +98,7 @@ void writeDownTest() {
|
|||
SFilePage* pBufPagex = static_cast<SFilePage*>(getBufPage(pBuf, writePageId));
|
||||
ASSERT_EQ(*(int32_t*)pBufPagex->data, nx);
|
||||
|
||||
SArray* pa = getDataBufPagesIdList(pBuf, groupId);
|
||||
SArray* pa = getDataBufPagesIdList(pBuf);
|
||||
ASSERT_EQ(taosArrayGetSize(pa), 5);
|
||||
|
||||
destroyDiskbasedBuf(pBuf);
|
||||
|
@ -152,7 +152,7 @@ void recyclePageTest() {
|
|||
|
||||
SFilePage* pBufPagex1 = static_cast<SFilePage*>(getBufPage(pBuf, 1));
|
||||
|
||||
SArray* pa = getDataBufPagesIdList(pBuf, groupId);
|
||||
SArray* pa = getDataBufPagesIdList(pBuf);
|
||||
ASSERT_EQ(taosArrayGetSize(pa), 6);
|
||||
|
||||
destroyDiskbasedBuf(pBuf);
|
||||
|
|
Loading…
Reference in New Issue