handle except

This commit is contained in:
yihaoDeng 2022-03-29 15:01:05 +08:00
parent 124b52cd28
commit 6a4199d3ed
4 changed files with 39 additions and 27 deletions

View File

@ -5,7 +5,6 @@ AccessModifierOffset: -1
AlignAfterOpenBracket: Align AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: true AlignConsecutiveDeclarations: true
AlignConsecutiveMacros: true
AlignEscapedNewlinesLeft: true AlignEscapedNewlinesLeft: true
AlignOperands: true AlignOperands: true
AlignTrailingComments: true AlignTrailingComments: true

View File

@ -20,7 +20,7 @@
#include "taos.h" #include "taos.h"
int32_t init_env() { int32_t init_env() {
TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0); TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 7010);
if (pConn == NULL) { if (pConn == NULL) {
return -1; return -1;
} }
@ -65,7 +65,7 @@ int32_t init_env() {
int32_t create_stream() { int32_t create_stream() {
printf("create stream\n"); printf("create stream\n");
TAOS_RES* pRes; TAOS_RES* pRes;
TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0); TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 7010);
if (pConn == NULL) { if (pConn == NULL) {
return -1; return -1;
} }

View File

@ -645,6 +645,10 @@ void fstNodeDestroy(FstNode* node) {
fstSliceDestroy(&node->data); fstSliceDestroy(&node->data);
taosMemoryFree(node); taosMemoryFree(node);
} }
void fstNodeDestroyP(void* node) {
FstNode* n = (FstNode*)(*(FstNode**)node);
fstNodeDestroy(n);
};
FstTransitions* fstNodeTransitions(FstNode* node) { FstTransitions* fstNodeTransitions(FstNode* node) {
FstTransitions* t = taosMemoryMalloc(sizeof(FstTransitions)); FstTransitions* t = taosMemoryMalloc(sizeof(FstTransitions));
if (NULL == t) { if (NULL == t) {
@ -1293,7 +1297,6 @@ bool streamWithStateSeekMin(StreamWithState* sws, FstBoundWithData* min) {
return false; return false;
} }
StreamWithStateResult* streamWithStateNextWith(StreamWithState* sws, StreamCallback callback) { StreamWithStateResult* streamWithStateNextWith(StreamWithState* sws, StreamCallback callback) {
AutomationCtx* aut = sws->aut; AutomationCtx* aut = sws->aut;
FstOutput output = sws->emptyOutput; FstOutput output = sws->emptyOutput;
@ -1317,7 +1320,7 @@ StreamWithStateResult* streamWithStateNextWith(StreamWithState* sws, StreamCallb
if (FST_NODE_ADDR(p->node) != fstGetRootAddr(sws->fst)) { if (FST_NODE_ADDR(p->node) != fstGetRootAddr(sws->fst)) {
taosArrayPop(sws->inp); taosArrayPop(sws->inp);
} }
// streamStateDestroy(p); streamStateDestroy(p);
continue; continue;
} }
FstTransition trn; FstTransition trn;
@ -1356,6 +1359,7 @@ StreamWithStateResult* streamWithStateNextWith(StreamWithState* sws, StreamCallb
sws->stack = (SArray*)taosArrayInit(256, sizeof(StreamState)); sws->stack = (SArray*)taosArrayInit(256, sizeof(StreamState));
taosMemoryFreeClear(buf); taosMemoryFreeClear(buf);
fstSliceDestroy(&slice); fstSliceDestroy(&slice);
taosArrayDestroyEx(nodes, NULL);
return NULL; return NULL;
} }
if (FST_NODE_IS_FINAL(nextNode) && isMatch) { if (FST_NODE_IS_FINAL(nextNode) && isMatch) {
@ -1363,17 +1367,20 @@ StreamWithStateResult* streamWithStateNextWith(StreamWithState* sws, StreamCallb
StreamWithStateResult* result = swsResultCreate(&slice, fOutput, tState); StreamWithStateResult* result = swsResultCreate(&slice, fOutput, tState);
taosMemoryFreeClear(buf); taosMemoryFreeClear(buf);
fstSliceDestroy(&slice); fstSliceDestroy(&slice);
taosArrayDestroy(nodes); taosArrayDestroyEx(nodes, NULL);
nodes = NULL;
return result; return result;
} }
taosMemoryFreeClear(buf); taosMemoryFreeClear(buf);
fstSliceDestroy(&slice); fstSliceDestroy(&slice);
} };
for (size_t i = 0; i < taosArrayGetSize(nodes); i++) { taosArrayDestroyEx(nodes, NULL);
FstNode** node = (FstNode**)taosArrayGet(nodes, i); // taosArrayDestroyEx(nodes, );
fstNodeDestroy(*node); // for (size_t i = 0; i < taosArrayGetSize(nodes); i++) {
} // FstNode** node = (FstNode**)taosArrayGet(nodes, i);
taosArrayDestroy(nodes); // fstNodeDestroy(*node);
//}
// taosArrayDestroy(nodes);
return NULL; return NULL;
} }

View File

@ -99,6 +99,8 @@ class FstReadMemory {
result.push_back(rt->out.out); result.push_back(rt->out.out);
swsResultDestroy(rt); swsResultDestroy(rt);
} }
streamWithStateDestroy(st);
fstStreamBuilderDestroy(sb);
return true; return true;
} }
bool SearchRange(AutomationCtx* ctx, const std::string& low, RangeType lowType, const std::string& high, bool SearchRange(AutomationCtx* ctx, const std::string& low, RangeType lowType, const std::string& high,
@ -127,6 +129,8 @@ class FstReadMemory {
result.push_back(rt->out.out); result.push_back(rt->out.out);
swsResultDestroy(rt); swsResultDestroy(rt);
} }
streamWithStateDestroy(st);
fstStreamBuilderDestroy(sb);
return true; return true;
} }
bool SearchWithTimeCostUs(AutomationCtx* ctx, std::vector<uint64_t>& result) { bool SearchWithTimeCostUs(AutomationCtx* ctx, std::vector<uint64_t>& result) {
@ -325,8 +329,8 @@ void checkFstCheckIterator2() {
for (int i = 0; i < result.size(); i++) { for (int i = 0; i < result.size(); i++) {
// assert(result[i] == i); // check result // assert(result[i] == i); // check result
} }
automCtxDestroy(ctx);
taosMemoryFree(ctx);
delete m; delete m;
} }
void checkFstCheckIteratorPrefix() { void checkFstCheckIteratorPrefix() {
@ -361,7 +365,7 @@ void checkFstCheckIteratorPrefix() {
AutomationCtx* ctx = automCtxCreate((void*)"he", AUTOMATION_PREFIX); AutomationCtx* ctx = automCtxCreate((void*)"he", AUTOMATION_PREFIX);
m->Search(ctx, result); m->Search(ctx, result);
assert(result.size() == 1); assert(result.size() == 1);
taosMemoryFree(ctx); automCtxDestroy(ctx);
} }
{ {
// prefix search // prefix search
@ -370,7 +374,7 @@ void checkFstCheckIteratorPrefix() {
AutomationCtx* ctx = automCtxCreate((void*)"Hello", AUTOMATION_PREFIX); AutomationCtx* ctx = automCtxCreate((void*)"Hello", AUTOMATION_PREFIX);
m->Search(ctx, result); m->Search(ctx, result);
assert(result.size() == 2); assert(result.size() == 2);
taosMemoryFree(ctx); automCtxDestroy(ctx);
} }
{ {
std::vector<uint64_t> result; std::vector<uint64_t> result;
@ -378,7 +382,7 @@ void checkFstCheckIteratorPrefix() {
AutomationCtx* ctx = automCtxCreate((void*)"jddd", AUTOMATION_PREFIX); AutomationCtx* ctx = automCtxCreate((void*)"jddd", AUTOMATION_PREFIX);
m->Search(ctx, result); m->Search(ctx, result);
assert(result.size() == 1); assert(result.size() == 1);
taosMemoryFree(ctx); automCtxDestroy(ctx);
} }
delete m; delete m;
} }
@ -413,7 +417,7 @@ void checkFstCheckIteratorRange1() {
// [b, e) // [b, e)
m->SearchRange(ctx, "b", GE, "e", LT, result); m->SearchRange(ctx, "b", GE, "e", LT, result);
assert(result.size() == 3); assert(result.size() == 3);
taosMemoryFree(ctx); automCtxDestroy(ctx);
} }
{ {
// prefix search // prefix search
@ -422,7 +426,7 @@ void checkFstCheckIteratorRange1() {
// [b, e) // [b, e)
m->SearchRange(ctx, "b", GT, "e", LT, result); m->SearchRange(ctx, "b", GT, "e", LT, result);
assert(result.size() == 2); assert(result.size() == 2);
taosMemoryFree(ctx); automCtxDestroy(ctx);
} }
{ {
// prefix search // prefix search
@ -431,7 +435,7 @@ void checkFstCheckIteratorRange1() {
// [b, e) // [b, e)
m->SearchRange(ctx, "b", GT, "e", LE, result); m->SearchRange(ctx, "b", GT, "e", LE, result);
assert(result.size() == 3); assert(result.size() == 3);
taosMemoryFree(ctx); automCtxDestroy(ctx);
} }
{ {
// prefix search // prefix search
@ -440,8 +444,9 @@ void checkFstCheckIteratorRange1() {
// [b, e) // [b, e)
m->SearchRange(ctx, "b", GE, "e", LE, result); m->SearchRange(ctx, "b", GE, "e", LE, result);
assert(result.size() == 4); assert(result.size() == 4);
taosMemoryFree(ctx); automCtxDestroy(ctx);
} }
delete m;
} }
void checkFstCheckIteratorRange2() { void checkFstCheckIteratorRange2() {
FstWriter* fw = new FstWriter; FstWriter* fw = new FstWriter;
@ -473,7 +478,7 @@ void checkFstCheckIteratorRange2() {
// [b, e) // [b, e)
m->SearchRange(ctx, "b", GE, "ed", LT, result); m->SearchRange(ctx, "b", GE, "ed", LT, result);
assert(result.size() == 4); assert(result.size() == 4);
taosMemoryFree(ctx); automCtxDestroy(ctx);
} }
{ {
// range search // range search
@ -482,7 +487,8 @@ void checkFstCheckIteratorRange2() {
// [b, e) // [b, e)
m->SearchRange(ctx, "b", GE, "ed", LE, result); m->SearchRange(ctx, "b", GE, "ed", LE, result);
assert(result.size() == 5); assert(result.size() == 5);
taosMemoryFree(ctx); automCtxDestroy(ctx);
// taosMemoryFree(ctx);
} }
{ {
// range search // range search
@ -491,7 +497,7 @@ void checkFstCheckIteratorRange2() {
// [b, e) // [b, e)
m->SearchRange(ctx, "b", GT, "ed", LE, result); m->SearchRange(ctx, "b", GT, "ed", LE, result);
assert(result.size() == 4); assert(result.size() == 4);
taosMemoryFree(ctx); automCtxDestroy(ctx);
} }
{ {
// range search // range search
@ -500,7 +506,7 @@ void checkFstCheckIteratorRange2() {
// [b, e) // [b, e)
m->SearchRange(ctx, "b", GT, "ed", LT, result); m->SearchRange(ctx, "b", GT, "ed", LT, result);
assert(result.size() == 3); assert(result.size() == 3);
taosMemoryFree(ctx); automCtxDestroy(ctx);
} }
} }
@ -566,9 +572,9 @@ int main(int argc, char* argv[]) {
// path suid colName ver // path suid colName ver
// iterTFileReader(argv[1], argv[2], argv[3], argv[4]); // iterTFileReader(argv[1], argv[2], argv[3], argv[4]);
//} //}
// checkFstCheckIterator1(); checkFstCheckIterator1();
// checkFstCheckIterator2(); checkFstCheckIterator2();
// checkFstCheckIteratorPrefix(); checkFstCheckIteratorPrefix();
checkFstCheckIteratorRange1(); checkFstCheckIteratorRange1();
checkFstCheckIteratorRange2(); checkFstCheckIteratorRange2();
// checkFstLongTerm(); // checkFstLongTerm();