more
This commit is contained in:
parent
e0b4319bd3
commit
81ef708c2a
|
@ -32,6 +32,7 @@ extern "C" {
|
||||||
#define tsdbTrace(...) do { if (tsdbDebugFlag & DEBUG_TRACE) { taosPrintLog("TSDB ", DEBUG_TRACE, tsdbDebugFlag, __VA_ARGS__); }} while(0)
|
#define tsdbTrace(...) do { if (tsdbDebugFlag & DEBUG_TRACE) { taosPrintLog("TSDB ", DEBUG_TRACE, tsdbDebugFlag, __VA_ARGS__); }} while(0)
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
|
typedef struct TSDBROW TSDBROW;
|
||||||
typedef struct TSDBKEY TSDBKEY;
|
typedef struct TSDBKEY TSDBKEY;
|
||||||
typedef struct SDelOp SDelOp;
|
typedef struct SDelOp SDelOp;
|
||||||
|
|
||||||
|
@ -855,9 +856,9 @@ static FORCE_INLINE int tsdbUnLockFS(STsdbFS *pFs) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct STsdbRow {
|
struct TSDBROW {
|
||||||
int64_t version;
|
int64_t version;
|
||||||
STSRow row;
|
STSRow2 *pRow;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct TSDBKEY {
|
struct TSDBKEY {
|
||||||
|
@ -869,7 +870,6 @@ struct SDelOp {
|
||||||
int64_t version;
|
int64_t version;
|
||||||
TSKEY sKey; // included
|
TSKEY sKey; // included
|
||||||
TSKEY eKey; // included
|
TSKEY eKey; // included
|
||||||
SDelOp *pNext;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -26,7 +26,7 @@ struct SMemData {
|
||||||
TSDBKEY minKey;
|
TSDBKEY minKey;
|
||||||
TSDBKEY maxKey;
|
TSDBKEY maxKey;
|
||||||
int64_t nRows;
|
int64_t nRows;
|
||||||
SDelOp *pDelList;
|
SArray *aDelOp; // SArray<SDelOp>
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SMemTable {
|
struct SMemTable {
|
||||||
|
@ -35,9 +35,11 @@ struct SMemTable {
|
||||||
TSDBKEY minKey;
|
TSDBKEY minKey;
|
||||||
TSDBKEY maxKey;
|
TSDBKEY maxKey;
|
||||||
int64_t nRows;
|
int64_t nRows;
|
||||||
SArray *pArray;
|
SArray *pArray; // SArray<SMemData>
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static int32_t tsdbGetOrCreateTbData(STsdb *pTsdb, tb_uid_t suid, tb_uid_t uid, SMemData **ppMemData);
|
||||||
|
|
||||||
// SMemTable ==============================================
|
// SMemTable ==============================================
|
||||||
int32_t tsdbMemTableCreate2(STsdb *pTsdb, SMemTable **ppMemTable) {
|
int32_t tsdbMemTableCreate2(STsdb *pTsdb, SMemTable **ppMemTable) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
|
@ -69,11 +71,61 @@ _err:
|
||||||
}
|
}
|
||||||
|
|
||||||
void tsdbMemTableDestroy2(SMemTable *pMemTable) {
|
void tsdbMemTableDestroy2(SMemTable *pMemTable) {
|
||||||
ASSERT(0);
|
taosArrayDestroyEx(pMemTable->pArray, NULL /*TODO*/);
|
||||||
// TODO
|
taosMemoryFree(pMemTable);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
int32_t tsdbInsertTableData2(STsdb *pTsdb, int64_t version, SVSubmitBlk *pSubmitBlk) {
|
||||||
|
int32_t code = 0;
|
||||||
|
SMemData *pMemData;
|
||||||
|
|
||||||
|
// check if table exists
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
code = tsdbGetOrCreateTbData(pTsdb, pSubmitBlk->suid, pSubmitBlk->uid, &pMemData);
|
||||||
|
if (code) {
|
||||||
|
tsdbError("vgId:%d failed to create/get table data since %s", TD_VID(pTsdb->pVnode), tstrerror(code));
|
||||||
|
goto _err;
|
||||||
|
}
|
||||||
|
|
||||||
|
// do insert
|
||||||
|
|
||||||
|
return code;
|
||||||
|
|
||||||
|
_err:
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
int32_t tsdbDeleteTableData2(STsdb *pTsdb, int64_t version, tb_uid_t suid, tb_uid_t uid, TSKEY sKey, TSKEY eKey) {
|
||||||
|
int32_t code = 0;
|
||||||
|
// TODO
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int32_t tsdbGetOrCreateTbData(STsdb *pTsdb, tb_uid_t suid, tb_uid_t uid, SMemData **ppMemData) {
|
||||||
|
int32_t code = 0;
|
||||||
|
SMemData *pMemData = NULL;
|
||||||
|
SMemTable *pMemTable = (SMemTable *)pTsdb->mem;
|
||||||
|
|
||||||
|
// search
|
||||||
|
pMemData = (SMemData *)taosbsearch(NULL, pMemTable->pArray->pData, taosArrayGetSize(pMemTable->pArray),
|
||||||
|
sizeof(SMemData *), NULL, TD_GE);
|
||||||
|
|
||||||
|
if (pMemData == NULL) {
|
||||||
|
// not found, create one
|
||||||
|
}
|
||||||
|
|
||||||
|
*ppMemData = pMemData;
|
||||||
|
return code;
|
||||||
|
|
||||||
|
_err:
|
||||||
|
*ppMemData = NULL;
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if 0 //====================================================================================
|
||||||
|
|
||||||
#define SL_MAX_LEVEL 5
|
#define SL_MAX_LEVEL 5
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue