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);
|
OrderType fstBuilderCheckLastKey(FstBuilder *b, FstSlice bs, bool ckDup);
|
||||||
void fstBuilderCompileFrom(FstBuilder *b, uint64_t istate);
|
void fstBuilderCompileFrom(FstBuilder *b, uint64_t istate);
|
||||||
CompiledAddr fstBuilderCompile(FstBuilder *b, FstBuilderNode *bn);
|
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);
|
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);
|
FstCountingWriter *fstCountingWriterCreate(void *wtr);
|
||||||
void fstCountingWriterDestroy(FstCountingWriter *w);
|
void fstCountingWriterDestroy(FstCountingWriter *w);
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "index_fst.h"
|
#include "index_fst.h"
|
||||||
|
#include "tcoding.h"
|
||||||
|
|
||||||
|
|
||||||
static void fstPackDeltaIn(FstCountingWriter *wrt, CompiledAddr nodeAddr, CompiledAddr transAddr, uint8_t nBytes) {
|
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;
|
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;
|
return bufLen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint32_t fstCountingWriterMaskedCheckSum(FstCountingWriter *write) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
int fstCountingWriterFlush(FstCountingWriter *write) {
|
int fstCountingWriterFlush(FstCountingWriter *write) {
|
||||||
//write->wtr->flush
|
//write->wtr->flush
|
||||||
return 1;
|
return 1;
|
||||||
|
|
Loading…
Reference in New Issue