more work
This commit is contained in:
parent
d68899e5e9
commit
63f03cfadf
|
@ -18,7 +18,9 @@
|
||||||
|
|
||||||
#include "mallocator.h"
|
#include "mallocator.h"
|
||||||
#include "taosmsg.h"
|
#include "taosmsg.h"
|
||||||
|
#include "tdlist.h"
|
||||||
#include "thash.h"
|
#include "thash.h"
|
||||||
|
#include "tskiplist.h"
|
||||||
|
|
||||||
#include "tsdb.h"
|
#include "tsdb.h"
|
||||||
#include "tsdbMemTable.h"
|
#include "tsdbMemTable.h"
|
||||||
|
|
|
@ -15,14 +15,32 @@
|
||||||
|
|
||||||
#include "tsdbDef.h"
|
#include "tsdbDef.h"
|
||||||
|
|
||||||
|
#if 1
|
||||||
|
typedef struct STbData {
|
||||||
|
TD_SLIST_NODE(STbData);
|
||||||
|
SSubmitMsg *pMsg;
|
||||||
|
} STbData;
|
||||||
|
#else
|
||||||
|
typedef struct STbData {
|
||||||
|
TD_SLIST_NODE(STbData);
|
||||||
|
uint64_t uid; // TODO: change here as tb_uid_t
|
||||||
|
TSKEY keyMin;
|
||||||
|
TSKEY keyMax;
|
||||||
|
uint64_t nRows;
|
||||||
|
SSkipList *pData; // Here need a container, may not use the SL
|
||||||
|
T_REF_DECLARE()
|
||||||
|
} STbData;
|
||||||
|
#endif
|
||||||
|
|
||||||
struct STsdbMemTable {
|
struct STsdbMemTable {
|
||||||
T_REF_DECLARE()
|
T_REF_DECLARE()
|
||||||
SRWLatch latch;
|
SRWLatch latch;
|
||||||
TSKEY keyMin;
|
TSKEY keyMin;
|
||||||
TSKEY keyMax;
|
TSKEY keyMax;
|
||||||
uint32_t nRow;
|
uint64_t nRow;
|
||||||
SHashObj * pHash;
|
|
||||||
SMemAllocator *pMA;
|
SMemAllocator *pMA;
|
||||||
|
// Container
|
||||||
|
TD_SLIST(STbData) list;
|
||||||
};
|
};
|
||||||
|
|
||||||
STsdbMemTable *tsdbNewMemTable(SMemAllocatorFactory *pMAF) {
|
STsdbMemTable *tsdbNewMemTable(SMemAllocatorFactory *pMAF) {
|
||||||
|
@ -43,8 +61,8 @@ STsdbMemTable *tsdbNewMemTable(SMemAllocatorFactory *pMAF) {
|
||||||
pMemTable->keyMin = TSKEY_MAX;
|
pMemTable->keyMin = TSKEY_MAX;
|
||||||
pMemTable->keyMax = TSKEY_MIN;
|
pMemTable->keyMax = TSKEY_MIN;
|
||||||
pMemTable->nRow = 0;
|
pMemTable->nRow = 0;
|
||||||
pMemTable->pHash = NULL; /// TODO
|
|
||||||
pMemTable->pMA = pMA;
|
pMemTable->pMA = pMA;
|
||||||
|
tSListInit(&(pMemTable->list));
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
return pMemTable;
|
return pMemTable;
|
||||||
|
@ -62,6 +80,15 @@ void tsdbFreeMemTable(SMemAllocatorFactory *pMAF, STsdbMemTable *pMemTable) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int tsdbInsertDataToMemTable(STsdbMemTable *pMemTable, SSubmitMsg *pMsg) {
|
int tsdbInsertDataToMemTable(STsdbMemTable *pMemTable, SSubmitMsg *pMsg) {
|
||||||
// TODO
|
SMemAllocator *pMA = pMemTable->pMA;
|
||||||
|
STbData * pTbData = (STbData *)((*pMA->malloc)(pMA, sizeof(*pTbData)));
|
||||||
|
if (pTbData == NULL) {
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
tSListPush(&(pMemTable->list), pTbData);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ------------------------ STATIC METHODS ------------------------ */
|
Loading…
Reference in New Issue