add lru to index
This commit is contained in:
parent
a9e64f2938
commit
fe8ccabf7a
Binary file not shown.
|
@ -113,7 +113,7 @@ int indexOpen(SIndexOpts* opts, const char* path, SIndex** index) {
|
|||
ret = TSDB_CODE_OUT_OF_MEMORY;
|
||||
goto END;
|
||||
}
|
||||
taosLRUCacheSetStrictCapacity(idx->lru, true);
|
||||
taosLRUCacheSetStrictCapacity(idx->lru, false);
|
||||
|
||||
idx->tindex = idxTFileCreate(idx, path);
|
||||
if (idx->tindex == NULL) {
|
||||
|
|
|
@ -31,7 +31,7 @@ typedef struct SIFParam {
|
|||
SHashObj *pFilter;
|
||||
|
||||
SArray *result;
|
||||
char * condValue;
|
||||
char *condValue;
|
||||
|
||||
SIdxFltStatus status;
|
||||
uint8_t colValType;
|
||||
|
@ -45,7 +45,7 @@ typedef struct SIFParam {
|
|||
|
||||
typedef struct SIFCtx {
|
||||
int32_t code;
|
||||
SHashObj * pRes; /* element is SIFParam */
|
||||
SHashObj *pRes; /* element is SIFParam */
|
||||
bool noExec; // true: just iterate condition tree, and add hint to executor plan
|
||||
SIndexMetaArg arg;
|
||||
// SIdxFltStatus st;
|
||||
|
@ -137,7 +137,7 @@ static int32_t sifGetValueFromNode(SNode *node, char **value) {
|
|||
// covert data From snode;
|
||||
SValueNode *vn = (SValueNode *)node;
|
||||
|
||||
char * pData = nodesGetValueFromNode(vn);
|
||||
char *pData = nodesGetValueFromNode(vn);
|
||||
SDataType *pType = &vn->node.resType;
|
||||
int32_t type = pType->type;
|
||||
int32_t valLen = 0;
|
||||
|
@ -175,7 +175,7 @@ static int32_t sifInitJsonParam(SNode *node, SIFParam *param, SIFCtx *ctx) {
|
|||
SOperatorNode *nd = (SOperatorNode *)node;
|
||||
assert(nodeType(node) == QUERY_NODE_OPERATOR);
|
||||
SColumnNode *l = (SColumnNode *)nd->pLeft;
|
||||
SValueNode * r = (SValueNode *)nd->pRight;
|
||||
SValueNode *r = (SValueNode *)nd->pRight;
|
||||
|
||||
param->colId = l->colId;
|
||||
param->colValType = l->node.resType.type;
|
||||
|
@ -357,7 +357,7 @@ static Filter sifGetFilterFunc(EIndexQueryType type, bool *reverse) {
|
|||
static int32_t sifDoIndex(SIFParam *left, SIFParam *right, int8_t operType, SIFParam *output) {
|
||||
int ret = 0;
|
||||
|
||||
SIndexMetaArg * arg = &output->arg;
|
||||
SIndexMetaArg *arg = &output->arg;
|
||||
EIndexQueryType qtype = 0;
|
||||
SIF_ERR_RET(sifGetFuncFromSql(operType, &qtype));
|
||||
if (left->colValType == TSDB_DATA_TYPE_JSON) {
|
||||
|
@ -749,7 +749,7 @@ int32_t doFilterTag(SNode *pFilterNode, SIndexMetaArg *metaArg, SArray *result,
|
|||
|
||||
SFilterInfo *filter = NULL;
|
||||
|
||||
SArray * output = taosArrayInit(8, sizeof(uint64_t));
|
||||
SArray *output = taosArrayInit(8, sizeof(uint64_t));
|
||||
SIFParam param = {.arg = *metaArg, .result = output};
|
||||
SIF_ERR_RET(sifCalculate((SNode *)pFilterNode, ¶m));
|
||||
|
||||
|
|
|
@ -106,12 +106,6 @@ static int idxFileCtxDoReadFrom(IFileCtx* ctx, uint8_t* buf, int len, int32_t of
|
|||
blkLeft = kBlockSize - blkOffset;
|
||||
|
||||
} while (len > 0);
|
||||
|
||||
#ifdef USE_MMAP
|
||||
int32_t last = ctx->file.size - offset;
|
||||
nRead = last >= len ? len : last;
|
||||
memcpy(buf, ctx->file.ptr + offset, nRead);
|
||||
#endif
|
||||
return total;
|
||||
}
|
||||
static int idxFileCtxGetSize(IFileCtx* ctx) {
|
||||
|
@ -146,8 +140,6 @@ IFileCtx* idxFileCtxCreate(WriterType type, const char* path, bool readOnly, int
|
|||
ctx->file.pFile = taosOpenFile(path, TD_FILE_CREATE | TD_FILE_WRITE | TD_FILE_APPEND);
|
||||
taosFtruncateFile(ctx->file.pFile, 0);
|
||||
taosStatFile(path, &ctx->file.size, NULL);
|
||||
// ctx->file.size = (int)size;
|
||||
|
||||
} else {
|
||||
ctx->file.pFile = taosOpenFile(path, TD_FILE_READ);
|
||||
|
||||
|
@ -166,6 +158,7 @@ IFileCtx* idxFileCtxCreate(WriterType type, const char* path, bool readOnly, int
|
|||
ctx->mem.buf = taosMemoryCalloc(1, sizeof(char) * capacity);
|
||||
ctx->mem.cap = capacity;
|
||||
}
|
||||
|
||||
ctx->write = idxFileCtxDoWrite;
|
||||
ctx->read = idxFileCtxDoRead;
|
||||
ctx->flush = idxFileCtxDoFlush;
|
||||
|
|
|
@ -753,6 +753,8 @@ static void cliHandleRelease(SCliMsg* pMsg, SCliThrd* pThrd) {
|
|||
SExHandle* exh = transAcquireExHandle(transGetRefMgt(), refId);
|
||||
if (exh == NULL) {
|
||||
tDebug("%" PRId64 " already release", refId);
|
||||
destroyCmsg(pMsg);
|
||||
return;
|
||||
}
|
||||
|
||||
SCliConn* conn = exh->handle;
|
||||
|
|
Loading…
Reference in New Issue