update fst core struct
This commit is contained in:
parent
d39f80185f
commit
e10b4bc05e
|
@ -80,6 +80,9 @@ void fstBuilderInsertOutput(FstBuilder *b, FstSlice bs, Output in);
|
|||
OrderType fstBuilderCheckLastKey(FstBuilder *b, FstSlice bs, bool ckDup);
|
||||
void fstBuilderCompileFrom(FstBuilder *b, uint64_t istate);
|
||||
CompiledAddr fstBuilderCompile(FstBuilder *b, FstBuilderNode *bn);
|
||||
void* fstBuilerIntoInner(FstBuilder *b);
|
||||
void fstBuilderFinish(FstBuilder *b);
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -27,9 +27,11 @@ typedef struct FstCountingWriter {
|
|||
|
||||
uint64_t fstCountingWriterWrite(FstCountingWriter *write, uint8_t *buf, uint32_t bufLen);
|
||||
|
||||
int FstCountingWriterFlush(FstCountingWriter *write);
|
||||
int fstCountingWriterFlush(FstCountingWriter *write);
|
||||
|
||||
|
||||
uint32_t fstCountingWriterMaskedCheckSum(FstCountingWriter *write);
|
||||
|
||||
FstCountingWriter *fstCountingWriterCreate(void *wtr);
|
||||
void fstCountingWriterDestroy(FstCountingWriter *w);
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
*/
|
||||
|
||||
#include "index_fst.h"
|
||||
|
||||
#include "tcoding.h"
|
||||
|
||||
|
||||
static void fstPackDeltaIn(FstCountingWriter *wrt, CompiledAddr nodeAddr, CompiledAddr transAddr, uint8_t nBytes) {
|
||||
|
@ -849,6 +849,31 @@ CompiledAddr fstBuilderCompile(FstBuilder *b, FstBuilderNode *bn) {
|
|||
return b->lastAddr;
|
||||
}
|
||||
|
||||
void* fstBuilderInsertInner(FstBuilder *b) {
|
||||
fstBuilderCompileFrom(b, 0);
|
||||
FstBuilderNode *rootNode = fstUnFinishedNodesPopRoot(b->unfinished);
|
||||
CompiledAddr rootAddr = fstBuilderCompile(b, rootNode);
|
||||
|
||||
uint8_t buf64[8] = {0};
|
||||
|
||||
taosEncodeFixedU64((void **)&buf64, b->len);
|
||||
fstCountingWriterWrite(b->wrt, buf64, sizeof(buf64));
|
||||
|
||||
taosEncodeFixedU64((void **)&buf64, rootAddr);
|
||||
fstCountingWriterWrite(b->wrt, buf64, sizeof(buf64));
|
||||
|
||||
uint8_t buf32[4] = {0};
|
||||
uint32_t sum = fstCountingWriterMaskedCheckSum(b->wrt);
|
||||
taosEncodeFixedU32((void **)&buf32, sum);
|
||||
fstCountingWriterWrite(b->wrt, buf32, sizeof(buf32));
|
||||
|
||||
fstCountingWriterFlush(b->wrt);
|
||||
return b->wrt;
|
||||
|
||||
}
|
||||
void fstBuilderFinish(FstBuilder *b) {
|
||||
fstBuilderInsertInner(b);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -37,6 +37,9 @@ uint64_t fstCountingWriterWrite(FstCountingWriter *write, uint8_t *buf, uint32_t
|
|||
return bufLen;
|
||||
}
|
||||
|
||||
uint32_t fstCountingWriterMaskedCheckSum(FstCountingWriter *write) {
|
||||
return 0;
|
||||
}
|
||||
int fstCountingWriterFlush(FstCountingWriter *write) {
|
||||
//write->wtr->flush
|
||||
return 1;
|
||||
|
|
Loading…
Reference in New Issue