Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
9586f86c
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22017
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
9586f86c
编写于
1月 04, 2023
作者:
dengyihao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update add/drop index msg
上级
973ebce2
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
29 addition
and
5 deletion
+29
-5
include/common/tmsg.h
include/common/tmsg.h
+1
-1
source/dnode/mnode/impl/src/mndStb.c
source/dnode/mnode/impl/src/mndStb.c
+25
-1
source/dnode/vnode/src/meta/metaTable.c
source/dnode/vnode/src/meta/metaTable.c
+3
-3
未找到文件。
include/common/tmsg.h
浏览文件 @
9586f86c
...
...
@@ -346,7 +346,7 @@ void tFreeSSubmitRsp(SSubmitRsp* pRsp);
#define COL_CLR_SET(FLG) ((FLG) &= (~(COL_SET_VAL | COL_SET_NULL)))
#define IS_BSMA_ON(s) (((s)->flags & 0x01) == COL_SMA_ON)
#define IS_I
NDX_ON(s)
(((s)->flags & 0x2) == COL_IDX_ON)
#define IS_I
DX_ON(s)
(((s)->flags & 0x2) == COL_IDX_ON)
#define SSCHMEA_TYPE(s) ((s)->type)
#define SSCHMEA_FLAGS(s) ((s)->flags)
...
...
source/dnode/mnode/impl/src/mndStb.c
浏览文件 @
9586f86c
...
...
@@ -2631,7 +2631,9 @@ static int32_t mndAddIndex(SMnode *pMnode, SRpcMsg *pReq, SCreateTagIndexReq *ta
int32_t
code
=
-
1
;
SField
*
pField0
=
NULL
;
SStbObj
stbObj
=
{
0
};
SStbObj
stbObj
=
{
0
};
SStbObj
*
pNew
=
&
stbObj
;
taosRLockLatch
(
&
pOld
->
lock
);
memcpy
(
&
stbObj
,
pOld
,
sizeof
(
SStbObj
));
taosRUnLockLatch
(
&
pOld
->
lock
);
...
...
@@ -2641,6 +2643,28 @@ static int32_t mndAddIndex(SMnode *pMnode, SRpcMsg *pReq, SCreateTagIndexReq *ta
stbObj
.
updateTime
=
taosGetTimestampMs
();
stbObj
.
lock
=
0
;
int32_t
tag
=
mndFindSuperTableTagIndex
(
pOld
,
tagIdxReq
->
colName
);
if
(
tag
<
0
)
{
terrno
=
TSDB_CODE_MND_TAG_NOT_EXIST
;
return
-
1
;
}
col_id_t
colId
=
pOld
->
pTags
[
tag
].
colId
;
if
(
mndCheckColAndTagModifiable
(
pMnode
,
pOld
->
name
,
pOld
->
uid
,
colId
)
!=
0
)
{
return
-
1
;
}
if
(
mndAllocStbSchemas
(
pOld
,
pNew
)
!=
0
)
{
return
-
1
;
}
SSchema
*
pTag
=
pNew
->
pTags
+
tag
;
if
(
IS_IDX_ON
(
pTag
))
{
terrno
=
TSDB_CODE_MND_TAG_NOT_EXIST
;
return
-
1
;
}
else
{
pTag
->
flags
|=
COL_IDX_ON
;
}
pNew
->
tagVer
++
;
return
TSDB_CODE_SUCCESS
;
}
static
int32_t
mndProcessCreateIndexReq
(
SRpcMsg
*
pReq
)
{
...
...
source/dnode/vnode/src/meta/metaTable.c
浏览文件 @
9586f86c
...
...
@@ -653,7 +653,7 @@ static int metaDropTableByUid(SMeta *pMeta, tb_uid_t uid, int *type) {
}
else
{
for
(
int
i
=
0
;
i
<
pTagSchema
->
nCols
;
i
++
)
{
pTagColumn
=
&
stbEntry
.
stbEntry
.
schemaTag
.
pSchema
[
i
];
if
(
!
IS_I
N
DX_ON
(
pTagColumn
))
continue
;
if
(
!
IS_IDX_ON
(
pTagColumn
))
continue
;
STagIdxKey
*
pTagIdxKey
=
NULL
;
int32_t
nTagIdxKey
;
...
...
@@ -1436,7 +1436,7 @@ static int metaDropTagIndex(SMeta *pMeta, int64_t version, SVAlterTbReq *pAlterT
goto
_err
;
}
if
(
IS_I
N
DX_ON
(
pCol
))
{
if
(
IS_IDX_ON
(
pCol
))
{
terrno
=
TSDB_CODE_VND_COL_ALREADY_EXISTS
;
goto
_err
;
}
...
...
@@ -1664,7 +1664,7 @@ static int metaUpdateTagIdx(SMeta *pMeta, const SMetaEntry *pCtbEntry) {
}
else
{
for
(
int
i
=
0
;
i
<
pTagSchema
->
nCols
;
i
++
)
{
pTagColumn
=
&
pTagSchema
->
pSchema
[
i
];
if
(
!
IS_I
N
DX_ON
(
pTagColumn
))
continue
;
if
(
!
IS_IDX_ON
(
pTagColumn
))
continue
;
STagVal
tagVal
=
{.
cid
=
pTagColumn
->
colId
};
tTagGet
((
const
STag
*
)
pCtbEntry
->
ctbEntry
.
pTags
,
&
tagVal
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录