more
This commit is contained in:
parent
3a527836cc
commit
8cfcade69d
|
@ -31,6 +31,10 @@ struct SMetaOptions {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* ------------------------ STbOptions ------------------------ */
|
/* ------------------------ STbOptions ------------------------ */
|
||||||
|
#define META_NORMAL_TABLE ((uint8_t)1)
|
||||||
|
#define META_SUPER_TABLE ((uint8_t)2)
|
||||||
|
#define META_CHILD_TABLE ((uint8_t)3)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
} SSMAOptions;
|
} SSMAOptions;
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,8 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int metaValidateTbOptions(SMeta *pMeta, const STbOptions *);
|
int metaValidateTbOptions(SMeta *pMeta, const STbOptions *);
|
||||||
|
size_t metaEncodeTbObjFromTbOptions(const STbOptions *, void *pBuf, size_t bsize);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,7 +91,53 @@ void metaCloseDB(SMeta *pMeta) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int metaSaveTableToDB(SMeta *pMeta, const STbOptions *pTbOptions) {
|
int metaSaveTableToDB(SMeta *pMeta, const STbOptions *pTbOptions) {
|
||||||
// TODO
|
tb_uid_t uid;
|
||||||
|
char * err = NULL;
|
||||||
|
size_t size;
|
||||||
|
char pBuf[1024]; // TODO
|
||||||
|
|
||||||
|
rocksdb_writeoptions_t *wopt = rocksdb_writeoptions_create();
|
||||||
|
|
||||||
|
// Generate a uid for child and normal table
|
||||||
|
if (pTbOptions->type == META_SUPER_TABLE) {
|
||||||
|
uid = pTbOptions->stbOptions.uid;
|
||||||
|
} else {
|
||||||
|
uid = metaGenerateUid(pMeta);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Save tbname -> uid to tbnameDB
|
||||||
|
rocksdb_put(pMeta->pDB->nameDb, wopt, pTbOptions->name, strlen(pTbOptions->name), (char *)(&uid), sizeof(uid), &err);
|
||||||
|
|
||||||
|
// Save uid -> tb_obj to tbDB
|
||||||
|
size = metaEncodeTbObjFromTbOptions(pTbOptions, pBuf, 1024);
|
||||||
|
rocksdb_put(pMeta->pDB->tbDb, wopt, (char *)(&uid), sizeof(uid), pBuf, size, &err);
|
||||||
|
|
||||||
|
switch (pTbOptions->type) {
|
||||||
|
case META_NORMAL_TABLE:
|
||||||
|
// save schemaDB
|
||||||
|
rocksdb_put(pMeta->pDB->schemaDb, wopt, NULL /* TODO */, NULL /* TODO */, NULL /* TODO */, NULL /* TODO */, &err);
|
||||||
|
break;
|
||||||
|
case META_SUPER_TABLE:
|
||||||
|
// save schemaDB
|
||||||
|
rocksdb_put(pMeta->pDB->schemaDb, wopt, NULL /* TODO */, NULL /* TODO */, NULL /* TODO */, NULL /* TODO */, &err);
|
||||||
|
|
||||||
|
// save mapDB (really need?)
|
||||||
|
rocksdb_put(pMeta->pDB->mapDb, wopt, (char *)(&uid), sizeof(uid), "", 0, &err);
|
||||||
|
break;
|
||||||
|
case META_CHILD_TABLE:
|
||||||
|
// save tagDB
|
||||||
|
rocksdb_put(pMeta->pDB->tagDb, wopt, NULL /* TODO */, 0 /* TODO */, NULL /* TODO */, 0 /* TODO */, &err);
|
||||||
|
|
||||||
|
// save mapDB
|
||||||
|
rocksdb_put(pMeta->pDB->mapDb, wopt, (char *)(&(pTbOptions->ctbOptions.suid)), sizeof(tb_uid_t), NULL /* TODO */,
|
||||||
|
0 /* TODO */, &err);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
ASSERT(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
rocksdb_writeoptions_destroy(wopt);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,4 +18,9 @@
|
||||||
int metaValidateTbOptions(SMeta *pMeta, const STbOptions *pTbOptions) {
|
int metaValidateTbOptions(SMeta *pMeta, const STbOptions *pTbOptions) {
|
||||||
// TODO
|
// TODO
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t metaEncodeTbObjFromTbOptions(const STbOptions *pTbOptions, void *pBuf, size_t bsize) {
|
||||||
|
// TODO
|
||||||
|
return 0;
|
||||||
}
|
}
|
Loading…
Reference in New Issue