From ccca561d11fdf75d26a3eac9bba6a3262c90d250 Mon Sep 17 00:00:00 2001 From: yihaoDeng Date: Tue, 23 Nov 2021 09:52:29 +0800 Subject: [PATCH] update fst build struct --- source/libs/index/src/index_fst.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/source/libs/index/src/index_fst.c b/source/libs/index/src/index_fst.c index 4b96915941..8cb318bbce 100644 --- a/source/libs/index/src/index_fst.c +++ b/source/libs/index/src/index_fst.c @@ -313,6 +313,18 @@ void fstBuilderDestroy(FstBuilder *b) { fstRegistryDestroy(b->registry); free(b); } + + +bool fstBuilderInsert(FstBuilder *b, FstSlice bs, Output in) { + OrderType t = fstBuilderCheckLastKey(b, bs, true); + if (t == Ordered) { + // add log info + fstBuilderInsertOutput(b, bs, in); + return true; + } + return false; +} + void fstBuilderInsertOutput(FstBuilder *b, FstSlice bs, Output in) { FstSlice *s = &bs; if (fstSliceEmpty(s)) { @@ -422,6 +434,8 @@ void fstLastTransitionDestroy(FstLastTransition *trn) { } void fstBuilderNodeUnfinishedLastCompiled(FstBuilderNodeUnfinished *unNode, CompiledAddr addr) { FstLastTransition *trn = unNode->last; + if (trn == NULL) { return; } + FstTransition t = {.inp = trn->inp, .out = trn->out, .addr = addr}; taosArrayPush(unNode->node->trans, &t); return;