mndStb.h 2.4 KB
Newer Older
H
refact  
Hongze Cheng 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/*
 * Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
 *
 * This program is free software: you can use, redistribute, and/or modify
 * it under the terms of the GNU Affero General Public License, version 3
 * or later ("AGPL"), as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */

S
Shengliang Guan 已提交
16 17
#ifndef _TD_MND_STB_H_
#define _TD_MND_STB_H_
S
Shengliang Guan 已提交
18

S
Shengliang Guan 已提交
19
#include "mndInt.h"
S
Shengliang Guan 已提交
20

S
Shengliang Guan 已提交
21 22 23
#ifdef __cplusplus
extern "C" {
#endif
S
Shengliang Guan 已提交
24

S
Shengliang Guan 已提交
25 26
int32_t  mndInitStb(SMnode *pMnode);
void     mndCleanupStb(SMnode *pMnode);
L
Liu Jicong 已提交
27
SStbObj *mndAcquireStb(SMnode *pMnode, char *stbName);
S
Shengliang Guan 已提交
28
void     mndReleaseStb(SMnode *pMnode, SStbObj *pStb);
29
SSdbRaw *mndStbActionEncode(SStbObj *pStb);
L
Liu Jicong 已提交
30
int32_t  mndValidateStbInfo(SMnode *pMnode, SSTableVersion *pStbs, int32_t numOfStbs, void **ppRsp, int32_t *pRspLen);
31
int32_t  mndGetNumOfStbs(SMnode *pMnode, char *dbName, int32_t *pNumOfStbs);
D
dapan 已提交
32

33 34 35 36
int32_t mndCheckCreateStbReq(SMCreateStbReq *pCreate);
SDbObj *mndAcquireDbByStb(SMnode *pMnode, const char *stbName);
int32_t mndBuildStbFromReq(SMnode *pMnode, SStbObj *pDst, SMCreateStbReq *pCreate, SDbObj *pDb);
int32_t mndAddStbToTrans(SMnode *pMnode, STrans *pTrans, SDbObj *pDb, SStbObj *pStb);
L
Liu Jicong 已提交
37
void    mndFreeStb(SStbObj *pStb);
H
Hongze Cheng 已提交
38
int32_t mndBuildSMCreateStbRsp(SMnode *pMnode, char *dbFName, char *stbFName, void **pCont, int32_t *pLen);
39

L
Liu Jicong 已提交
40
void mndExtractDbNameFromStbFullName(const char *stbFullName, char *dst);
C
cademfly 已提交
41
void mndExtractShortDbNameFromStbFullName(const char *stbFullName, char *dst);
42
void mndExtractShortDbNameFromDbFullName(const char *stbFullName, char *dst);
L
Liu Jicong 已提交
43 44
void mndExtractTbNameFromStbFullName(const char *stbFullName, char *dst, int32_t dstSize);

S
Shengliang Guan 已提交
45 46
const char *mndGetStbStr(const char *src);

dengyihao's avatar
dengyihao 已提交
47 48 49 50
int32_t mndAllocStbSchemas(const SStbObj *pOld, SStbObj *pNew);
int32_t mndCheckColAndTagModifiable(SMnode *pMnode, const char *stbFullName, int64_t suid, col_id_t colId);
void   *mndBuildVCreateStbReq(SMnode *pMnode, SVgObj *pVgroup, SStbObj *pStb, int32_t *pContLen, void *alterOriData,
                              int32_t alterOriDataLen);
C
cadem 已提交
51
int32_t mndSetForceDropCreateStbRedoActions(SMnode *pMnode, STrans *pTrans, SVgObj *pVgroup, SStbObj *pStb);
dengyihao's avatar
dengyihao 已提交
52

S
Shengliang Guan 已提交
53 54 55
#ifdef __cplusplus
}
#endif
S
Shengliang Guan 已提交
56

S
Shengliang Guan 已提交
57
#endif /*_TD_MND_STB_H_*/