提交 c75aa54a 编写于 作者: K kailixu

fix: tsdb read and append _wstart for tsma

...@@ -765,7 +765,7 @@ static int32_t tsdbReaderCreate(SVnode* pVnode, SQueryTableDataCond* pCond, STsd ...@@ -765,7 +765,7 @@ static int32_t tsdbReaderCreate(SVnode* pVnode, SQueryTableDataCond* pCond, STsd
} }
if (VND_IS_TSMA(pVnode)) { if (VND_IS_TSMA(pVnode)) {
tsdbDebug("vgId:%d, tsma is selected to query, %s", TD_VID(pVnode), idstr); tsdbInfo("vgId:%d, tsma is selected to query, %s", TD_VID(pVnode), idstr);
} }
initReaderStatus(&pReader->status); initReaderStatus(&pReader->status);
......
...@@ -1311,8 +1311,13 @@ static int32_t smaIndexOptCreateSmaCols(SNodeList* pFuncs, uint64_t tableId, SNo ...@@ -1311,8 +1311,13 @@ static int32_t smaIndexOptCreateSmaCols(SNodeList* pFuncs, uint64_t tableId, SNo
} }
if (!hasWStart) { if (!hasWStart) {
SColumnNode* pTail = (SColumnNode*)pCols->pTail->pNode; SColumnNode* pTail = (SColumnNode*)pCols->pTail->pNode;
if (pTail->colId == PRIMARYKEY_TIMESTAMP_COL_ID && pTail->colType == TSDB_DATA_TYPE_TIMESTAMP) { if (pTail->colId == PRIMARYKEY_TIMESTAMP_COL_ID) {
hasWStart = true; if (pTail->node.resType.type == TSDB_DATA_TYPE_TIMESTAMP) {
hasWStart = true;
} else {
nodesDestroyList(pCols);
return TSDB_CODE_APP_ERROR;
}
} }
} }
} }
...@@ -1324,9 +1329,10 @@ static int32_t smaIndexOptCreateSmaCols(SNodeList* pFuncs, uint64_t tableId, SNo ...@@ -1324,9 +1329,10 @@ static int32_t smaIndexOptCreateSmaCols(SNodeList* pFuncs, uint64_t tableId, SNo
SExprNode exprNode; SExprNode exprNode;
exprNode.resType = ((SExprNode*)pSmaFuncs->pHead->pNode)->resType; exprNode.resType = ((SExprNode*)pSmaFuncs->pHead->pNode)->resType;
sprintf(exprNode.aliasName, "#expr_%d", index + 1); sprintf(exprNode.aliasName, "#expr_%d", index + 1);
code = nodesListMakeStrictAppend( SNode* pkNode = smaIndexOptCreateSmaCol((SNode*)&exprNode, tableId, PRIMARYKEY_TIMESTAMP_COL_ID);
&pCols, smaIndexOptCreateSmaCol((SNode*)&exprNode, tableId, PRIMARYKEY_TIMESTAMP_COL_ID)); code = nodesListPushFront(pCols, pkNode);
if (TSDB_CODE_SUCCESS != code) { if (TSDB_CODE_SUCCESS != code) {
nodesDestroyNode(pkNode);
nodesDestroyList(pCols); nodesDestroyList(pCols);
return code; return code;
} }
......
...@@ -78,7 +78,7 @@ if $rows != 5 then ...@@ -78,7 +78,7 @@ if $rows != 5 then
return -1 return -1
endi endi
print =============== select * from stb from memory in designated vgroup print =============== select with _wstart from stb from memory in designated vgroup
sql select _wstart, _wend, min(c1),max(c2),max(c1) from stb interval(5m,10s) sliding(5m); sql select _wstart, _wend, min(c1),max(c2),max(c1) from stb interval(5m,10s) sliding(5m);
print $data00 $data01 $data02 $data03 $data04 print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14 print $data10 $data11 $data12 $data13 $data14
...@@ -102,6 +102,30 @@ if $data04 != 20 then ...@@ -102,6 +102,30 @@ if $data04 != 20 then
return -1 return -1
endi endi
print =============== select without _wstart from stb from memory in designated vgroup
sql select min(c1),max(c2),max(c1) from stb interval(5m,10s) sliding(5m);
print $data00 $data01 $data02
print $data10 $data11 $data12
if $rows != 1 then
print rows $rows != 1
return -1
endi
if $data00 != -13 then
print data00 $data00 != -13
return -1
endi
if $data01 != 20.00000 then
print data01 $data01 != 20.00000
return -1
endi
if $data02 != 20 then
print data02 $data02 != 20
return -1
endi
print =============== select * from stb from memory in common vgroups print =============== select * from stb from memory in common vgroups
sql select _wstart, _wend, min(c1),max(c2),max(c1),max(c3) from stb interval(5m,10s) sliding(5m); sql select _wstart, _wend, min(c1),max(c2),max(c1),max(c3) from stb interval(5m,10s) sliding(5m);
print $data00 $data01 $data02 $data03 $data04 $data05 print $data00 $data01 $data02 $data03 $data04 $data05
...@@ -148,7 +172,7 @@ if $rows != 5 then ...@@ -148,7 +172,7 @@ if $rows != 5 then
return -1 return -1
endi endi
print =============== select * from stb from memory in designated vgroup after reboot print =============== select with _wstart from stb from memory in designated vgroup after reboot
sql select _wstart, _wend, min(c1),max(c2),max(c1) from stb interval(5m,10s) sliding(5m); sql select _wstart, _wend, min(c1),max(c2),max(c1) from stb interval(5m,10s) sliding(5m);
print $data00 $data01 $data02 $data03 $data04 print $data00 $data01 $data02 $data03 $data04
print $data10 $data11 $data12 $data13 $data14 print $data10 $data11 $data12 $data13 $data14
...@@ -172,6 +196,30 @@ if $data04 != 20 then ...@@ -172,6 +196,30 @@ if $data04 != 20 then
return -1 return -1
endi endi
print =============== select without _wstart from stb from memory in designated vgroup after reboot
sql select min(c1),max(c2),max(c1) from stb interval(5m,10s) sliding(5m);
print $data00 $data01 $data02
print $data10 $data11 $data12
if $rows != 1 then
print rows $rows != 1
return -1
endi
if $data00 != -13 then
print data00 $data00 != -13
return -1
endi
if $data01 != 20.00000 then
print data01 $data01 != 20.00000
return -1
endi
if $data02 != 20 then
print data02 $data02 != 20
return -1
endi
print =============== select * from stb from memory in common vgroups after reboot print =============== select * from stb from memory in common vgroups after reboot
sql select _wstart, _wend, min(c1),max(c2),max(c1),max(c3) from stb interval(5m,10s) sliding(5m); sql select _wstart, _wend, min(c1),max(c2),max(c1),max(c3) from stb interval(5m,10s) sliding(5m);
print $data00 $data01 $data02 $data03 $data04 $data05 print $data00 $data01 $data02 $data03 $data04 $data05
...@@ -218,7 +266,7 @@ if $rows != 5 then ...@@ -218,7 +266,7 @@ if $rows != 5 then
return -1 return -1
endi endi
print =============== select * from stb from file in designated vgroup print =============== select with _wstart from stb from file in designated vgroup
sql select _wstart, _wend, min(c1),max(c2),max(c1) from stb interval(5m,10s) sliding(5m); sql select _wstart, _wend, min(c1),max(c2),max(c1) from stb interval(5m,10s) sliding(5m);
print $data00 $data01 $data02 $data03 $data04 print $data00 $data01 $data02 $data03 $data04
if $rows != 1 then if $rows != 1 then
...@@ -241,6 +289,29 @@ if $data04 != 20 then ...@@ -241,6 +289,29 @@ if $data04 != 20 then
return -1 return -1
endi endi
print =============== select without _wstart from stb from file in designated vgroup
sql select _wend, min(c1),max(c2),max(c1) from stb interval(5m,10s) sliding(5m);
print $data00 $data01 $data02 $data03
if $rows != 1 then
print rows $rows != 1
return -1
endi
if $data01 != -13 then
print data01 $data01 != -13
return -1
endi
if $data02 != 20.00000 then
print data02 $data02 != 20.00000
return -1
endi
if $data03 != 20 then
print data03 $data03 != 20
return -1
endi
print =============== select * from stb from file in common vgroups print =============== select * from stb from file in common vgroups
sql select _wstart, _wend, min(c1),max(c2),max(c1),max(c3) from stb interval(5m,10s) sliding(5m); sql select _wstart, _wend, min(c1),max(c2),max(c1),max(c3) from stb interval(5m,10s) sliding(5m);
print $data00 $data01 $data02 $data03 $data04 $data05 print $data00 $data01 $data02 $data03 $data04 $data05
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册
反馈
建议
客服 返回
顶部