Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
51755e97
T
TDengine
项目概览
taosdata
/
TDengine
接近 2 年 前同步成功
通知
1192
Star
22018
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看板
提交
51755e97
编写于
2月 18, 2023
作者:
dengyihao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: fix drop error
上级
db7dec03
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
47 addition
and
31 deletion
+47
-31
include/util/taoserror.h
include/util/taoserror.h
+6
-3
source/dnode/mnode/impl/src/mndIndex.c
source/dnode/mnode/impl/src/mndIndex.c
+4
-0
source/dnode/mnode/impl/src/mndIndexCom.c
source/dnode/mnode/impl/src/mndIndexCom.c
+4
-0
source/dnode/mnode/impl/src/mndSma.c
source/dnode/mnode/impl/src/mndSma.c
+8
-1
source/dnode/vnode/src/meta/metaQuery.c
source/dnode/vnode/src/meta/metaQuery.c
+6
-0
source/libs/executor/src/sysscanoperator.c
source/libs/executor/src/sysscanoperator.c
+3
-4
source/libs/index/src/indexFilter.c
source/libs/index/src/indexFilter.c
+1
-1
tests/script/tsim/tagindex/add_index.sim
tests/script/tsim/tagindex/add_index.sim
+1
-1
tests/script/tsim/tagindex/sma_and_tag_index.sim
tests/script/tsim/tagindex/sma_and_tag_index.sim
+14
-21
未找到文件。
include/util/taoserror.h
浏览文件 @
51755e97
...
@@ -265,10 +265,8 @@ int32_t* taosGetErrno();
...
@@ -265,10 +265,8 @@ int32_t* taosGetErrno();
// #define TSDB_CODE_MND_INVALID_COLUMN_LENGTH TAOS_DEF_ERROR_CODE(0, 0x0377) // 2.x
// #define TSDB_CODE_MND_INVALID_COLUMN_LENGTH TAOS_DEF_ERROR_CODE(0, 0x0377) // 2.x
#define TSDB_CODE_MND_INVALID_FUNC_COMMENT TAOS_DEF_ERROR_CODE(0, 0x0378)
#define TSDB_CODE_MND_INVALID_FUNC_COMMENT TAOS_DEF_ERROR_CODE(0, 0x0378)
#define TSDB_CODE_MND_INVALID_FUNC_RETRIEVE TAOS_DEF_ERROR_CODE(0, 0x0379)
#define TSDB_CODE_MND_INVALID_FUNC_RETRIEVE TAOS_DEF_ERROR_CODE(0, 0x0379)
#define TSDB_CODE_MND_TAG_INDEX_ALREADY_EXIST TAOS_DEF_ERROR_CODE(0, 0x037A)
#define TSDB_CODE_MND_TAG_INDEX_NOT_EXIST TAOS_DEF_ERROR_CODE(0, 0x037B)
// mnode-db
// mnode-db
#define TSDB_CODE_MND_DB_NOT_SELECTED TAOS_DEF_ERROR_CODE(0, 0x0380)
#define TSDB_CODE_MND_DB_NOT_SELECTED TAOS_DEF_ERROR_CODE(0, 0x0380)
...
@@ -370,6 +368,11 @@ int32_t* taosGetErrno();
...
@@ -370,6 +368,11 @@ int32_t* taosGetErrno();
#define TSDB_CODE_MND_SMA_NOT_EXIST TAOS_DEF_ERROR_CODE(0, 0x0481)
#define TSDB_CODE_MND_SMA_NOT_EXIST TAOS_DEF_ERROR_CODE(0, 0x0481)
#define TSDB_CODE_MND_INVALID_SMA_OPTION TAOS_DEF_ERROR_CODE(0, 0x0482)
#define TSDB_CODE_MND_INVALID_SMA_OPTION TAOS_DEF_ERROR_CODE(0, 0x0482)
// mnode-tag-indxe
#define TSDB_CODE_MND_TAG_INDEX_ALREADY_EXIST TAOS_DEF_ERROR_CODE(0, 0x0483)
#define TSDB_CODE_MND_TAG_INDEX_NOT_EXIST TAOS_DEF_ERROR_CODE(0, 0x0484)
// dnode
// dnode
// #define TSDB_CODE_DND_MSG_NOT_PROCESSED TAOS_DEF_ERROR_CODE(0, 0x0400) // 2.x
// #define TSDB_CODE_DND_MSG_NOT_PROCESSED TAOS_DEF_ERROR_CODE(0, 0x0400) // 2.x
// #define TSDB_CODE_DND_OUT_OF_MEMORY TAOS_DEF_ERROR_CODE(0, 0x0401) // 2.x
// #define TSDB_CODE_DND_OUT_OF_MEMORY TAOS_DEF_ERROR_CODE(0, 0x0401) // 2.x
...
...
source/dnode/mnode/impl/src/mndIndex.c
浏览文件 @
51755e97
...
@@ -420,6 +420,8 @@ static int32_t mndProcessCreateIdxReq(SRpcMsg *pReq) {
...
@@ -420,6 +420,8 @@ static int32_t mndProcessCreateIdxReq(SRpcMsg *pReq) {
SSIdx
idx
=
{
0
};
SSIdx
idx
=
{
0
};
if
(
mndAcquireGlobalIdx
(
pMnode
,
createReq
.
idxName
,
SDB_IDX
,
&
idx
)
==
0
)
{
if
(
mndAcquireGlobalIdx
(
pMnode
,
createReq
.
idxName
,
SDB_IDX
,
&
idx
)
==
0
)
{
pIdx
=
idx
.
pIdx
;
pIdx
=
idx
.
pIdx
;
}
else
{
goto
_OVER
;
}
}
if
(
pIdx
!=
NULL
)
{
if
(
pIdx
!=
NULL
)
{
terrno
=
TSDB_CODE_MND_TAG_INDEX_ALREADY_EXIST
;
terrno
=
TSDB_CODE_MND_TAG_INDEX_ALREADY_EXIST
;
...
@@ -748,6 +750,8 @@ int32_t mndProcessDropTagIdxReq(SRpcMsg *pReq) {
...
@@ -748,6 +750,8 @@ int32_t mndProcessDropTagIdxReq(SRpcMsg *pReq) {
SSIdx
idx
=
{
0
};
SSIdx
idx
=
{
0
};
if
(
mndAcquireGlobalIdx
(
pMnode
,
req
.
name
,
SDB_IDX
,
&
idx
)
==
0
)
{
if
(
mndAcquireGlobalIdx
(
pMnode
,
req
.
name
,
SDB_IDX
,
&
idx
)
==
0
)
{
pIdx
=
idx
.
pIdx
;
pIdx
=
idx
.
pIdx
;
}
else
{
goto
_OVER
;
}
}
if
(
pIdx
==
NULL
)
{
if
(
pIdx
==
NULL
)
{
if
(
req
.
igNotExists
)
{
if
(
req
.
igNotExists
)
{
...
...
source/dnode/mnode/impl/src/mndIndexCom.c
浏览文件 @
51755e97
...
@@ -40,6 +40,8 @@ int mndAcquireGlobalIdx(SMnode *pMnode, char *name, int type, SSIdx *idx) {
...
@@ -40,6 +40,8 @@ int mndAcquireGlobalIdx(SMnode *pMnode, char *name, int type, SSIdx *idx) {
idx
->
pIdx
=
pSma
;
idx
->
pIdx
=
pSma
;
}
else
{
// type == SDB_IDX
}
else
{
// type == SDB_IDX
mndReleaseSma
(
pMnode
,
pSma
);
mndReleaseSma
(
pMnode
,
pSma
);
terrno
=
TSDB_CODE_MND_SMA_ALREADY_EXIST
;
return
-
1
;
}
}
}
else
{
}
else
{
if
(
type
==
SDB_IDX
)
{
if
(
type
==
SDB_IDX
)
{
...
@@ -47,6 +49,8 @@ int mndAcquireGlobalIdx(SMnode *pMnode, char *name, int type, SSIdx *idx) {
...
@@ -47,6 +49,8 @@ int mndAcquireGlobalIdx(SMnode *pMnode, char *name, int type, SSIdx *idx) {
idx
->
pIdx
=
pIdx
;
idx
->
pIdx
=
pIdx
;
}
else
{
}
else
{
mndReleaseIdx
(
pMnode
,
pIdx
);
mndReleaseIdx
(
pMnode
,
pIdx
);
terrno
=
TSDB_CODE_MND_TAG_INDEX_ALREADY_EXIST
;
return
-
1
;
}
}
}
}
return
0
;
return
0
;
...
...
source/dnode/mnode/impl/src/mndSma.c
浏览文件 @
51755e97
...
@@ -57,7 +57,7 @@ static int32_t mndRetrieveIdx(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBloc
...
@@ -57,7 +57,7 @@ static int32_t mndRetrieveIdx(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBloc
static
int32_t
mndProcessDropIdxReq
(
SRpcMsg
*
pReq
)
{
static
int32_t
mndProcessDropIdxReq
(
SRpcMsg
*
pReq
)
{
int
ret
=
mndProcessDropSmaReq
(
pReq
);
int
ret
=
mndProcessDropSmaReq
(
pReq
);
if
(
terrno
==
TSDB_CODE_MND_
SMA_NOT
_EXIST
)
{
if
(
terrno
==
TSDB_CODE_MND_
TAG_INDEX_ALREADY
_EXIST
)
{
terrno
=
0
;
terrno
=
0
;
ret
=
mndProcessDropTagIdxReq
(
pReq
);
ret
=
mndProcessDropTagIdxReq
(
pReq
);
}
}
...
@@ -735,6 +735,8 @@ static int32_t mndProcessCreateSmaReq(SRpcMsg *pReq) {
...
@@ -735,6 +735,8 @@ static int32_t mndProcessCreateSmaReq(SRpcMsg *pReq) {
SSIdx
idx
=
{
0
};
SSIdx
idx
=
{
0
};
if
(
mndAcquireGlobalIdx
(
pMnode
,
createReq
.
name
,
SDB_SMA
,
&
idx
)
==
0
)
{
if
(
mndAcquireGlobalIdx
(
pMnode
,
createReq
.
name
,
SDB_SMA
,
&
idx
)
==
0
)
{
pSma
=
idx
.
pIdx
;
pSma
=
idx
.
pIdx
;
}
else
{
goto
_OVER
;
}
}
if
(
pSma
!=
NULL
)
{
if
(
pSma
!=
NULL
)
{
...
@@ -985,6 +987,8 @@ static int32_t mndProcessDropSmaReq(SRpcMsg *pReq) {
...
@@ -985,6 +987,8 @@ static int32_t mndProcessDropSmaReq(SRpcMsg *pReq) {
SSIdx
idx
=
{
0
};
SSIdx
idx
=
{
0
};
if
(
mndAcquireGlobalIdx
(
pMnode
,
dropReq
.
name
,
SDB_SMA
,
&
idx
)
==
0
)
{
if
(
mndAcquireGlobalIdx
(
pMnode
,
dropReq
.
name
,
SDB_SMA
,
&
idx
)
==
0
)
{
pSma
=
idx
.
pIdx
;
pSma
=
idx
.
pIdx
;
}
else
{
goto
_OVER
;
}
}
if
(
pSma
==
NULL
)
{
if
(
pSma
==
NULL
)
{
if
(
dropReq
.
igNotExists
)
{
if
(
dropReq
.
igNotExists
)
{
...
@@ -1027,6 +1031,9 @@ static int32_t mndGetSma(SMnode *pMnode, SUserIndexReq *indexReq, SUserIndexRsp
...
@@ -1027,6 +1031,9 @@ static int32_t mndGetSma(SMnode *pMnode, SUserIndexReq *indexReq, SUserIndexRsp
SSIdx
idx
=
{
0
};
SSIdx
idx
=
{
0
};
if
(
0
==
mndAcquireGlobalIdx
(
pMnode
,
indexReq
->
indexFName
,
SDB_SMA
,
&
idx
))
{
if
(
0
==
mndAcquireGlobalIdx
(
pMnode
,
indexReq
->
indexFName
,
SDB_SMA
,
&
idx
))
{
pSma
=
idx
.
pIdx
;
pSma
=
idx
.
pIdx
;
}
else
{
*
exist
=
false
;
return
0
;
}
}
if
(
pSma
==
NULL
)
{
if
(
pSma
==
NULL
)
{
...
...
source/dnode/vnode/src/meta/metaQuery.c
浏览文件 @
51755e97
...
@@ -1295,8 +1295,12 @@ int32_t metaFilterTableIds(SMeta *pMeta, SMetaFltParam *param, SArray *pUids) {
...
@@ -1295,8 +1295,12 @@ int32_t metaFilterTableIds(SMeta *pMeta, SMetaFltParam *param, SArray *pUids) {
int
count
=
0
;
int
count
=
0
;
int32_t
valid
=
0
;
int32_t
valid
=
0
;
bool
found
=
false
;
static
const
int8_t
TRY_ERROR_LIMIT
=
1
;
static
const
int8_t
TRY_ERROR_LIMIT
=
1
;
/// src: [[suid, cid1, type1]....[suid, cid2, type2]....[suid, cid3, type3]...]
/// target: [suid, cid2, type2]
do
{
do
{
void
*
entryKey
=
NULL
,
*
entryVal
=
NULL
;
void
*
entryKey
=
NULL
,
*
entryVal
=
NULL
;
int32_t
nEntryKey
,
nEntryVal
;
int32_t
nEntryKey
,
nEntryVal
;
...
@@ -1313,6 +1317,7 @@ int32_t metaFilterTableIds(SMeta *pMeta, SMetaFltParam *param, SArray *pUids) {
...
@@ -1313,6 +1317,7 @@ int32_t metaFilterTableIds(SMeta *pMeta, SMetaFltParam *param, SArray *pUids) {
if
(
p
==
NULL
)
break
;
if
(
p
==
NULL
)
break
;
if
(
p
->
type
!=
pCursor
->
type
||
p
->
suid
!=
pCursor
->
suid
||
p
->
cid
!=
pCursor
->
cid
)
{
if
(
p
->
type
!=
pCursor
->
type
||
p
->
suid
!=
pCursor
->
suid
||
p
->
cid
!=
pCursor
->
cid
)
{
if
(
found
==
true
)
break
;
count
++
;
count
++
;
valid
=
param
->
reverse
?
tdbTbcMoveToPrev
(
pCursor
->
pCur
)
:
tdbTbcMoveToNext
(
pCursor
->
pCur
);
valid
=
param
->
reverse
?
tdbTbcMoveToPrev
(
pCursor
->
pCur
)
:
tdbTbcMoveToNext
(
pCursor
->
pCur
);
if
(
valid
<
0
)
{
if
(
valid
<
0
)
{
...
@@ -1332,6 +1337,7 @@ int32_t metaFilterTableIds(SMeta *pMeta, SMetaFltParam *param, SArray *pUids) {
...
@@ -1332,6 +1337,7 @@ int32_t metaFilterTableIds(SMeta *pMeta, SMetaFltParam *param, SArray *pUids) {
tuid
=
*
(
tb_uid_t
*
)(
p
->
data
+
tDataTypes
[
pCursor
->
type
].
bytes
);
tuid
=
*
(
tb_uid_t
*
)(
p
->
data
+
tDataTypes
[
pCursor
->
type
].
bytes
);
}
}
taosArrayPush
(
pUids
,
&
tuid
);
taosArrayPush
(
pUids
,
&
tuid
);
found
=
true
;
}
else
{
}
else
{
if
(
param
->
equal
==
true
)
{
if
(
param
->
equal
==
true
)
{
if
(
count
>
TRY_ERROR_LIMIT
)
break
;
if
(
count
>
TRY_ERROR_LIMIT
)
break
;
...
...
source/libs/executor/src/sysscanoperator.c
浏览文件 @
51755e97
...
@@ -199,8 +199,8 @@ int32_t sysFilte__TableName(void* arg, SNode* pNode, SArray* result) {
...
@@ -199,8 +199,8 @@ int32_t sysFilte__TableName(void* arg, SNode* pNode, SArray* result) {
SOperatorNode
*
pOper
=
(
SOperatorNode
*
)
pNode
;
SOperatorNode
*
pOper
=
(
SOperatorNode
*
)
pNode
;
SValueNode
*
pVal
=
(
SValueNode
*
)
pOper
->
pRight
;
SValueNode
*
pVal
=
(
SValueNode
*
)
pOper
->
pRight
;
bool
reverse
=
false
;
bool
equal
=
false
;
bool
reverse
=
false
,
equal
=
false
;
__optSysFilter
func
=
optSysGetFilterFunc
(
pOper
->
opType
,
&
reverse
,
&
equal
);
__optSysFilter
func
=
optSysGetFilterFunc
(
pOper
->
opType
,
&
reverse
,
&
equal
);
if
(
func
==
NULL
)
return
-
1
;
if
(
func
==
NULL
)
return
-
1
;
...
@@ -220,8 +220,7 @@ int32_t sysFilte__CreateTime(void* arg, SNode* pNode, SArray* result) {
...
@@ -220,8 +220,7 @@ int32_t sysFilte__CreateTime(void* arg, SNode* pNode, SArray* result) {
SOperatorNode
*
pOper
=
(
SOperatorNode
*
)
pNode
;
SOperatorNode
*
pOper
=
(
SOperatorNode
*
)
pNode
;
SValueNode
*
pVal
=
(
SValueNode
*
)
pOper
->
pRight
;
SValueNode
*
pVal
=
(
SValueNode
*
)
pOper
->
pRight
;
bool
reverse
=
false
;
bool
reverse
=
false
,
equal
=
false
;
bool
equal
=
false
;
__optSysFilter
func
=
optSysGetFilterFunc
(
pOper
->
opType
,
&
reverse
,
&
equal
);
__optSysFilter
func
=
optSysGetFilterFunc
(
pOper
->
opType
,
&
reverse
,
&
equal
);
if
(
func
==
NULL
)
return
-
1
;
if
(
func
==
NULL
)
return
-
1
;
...
...
source/libs/index/src/indexFilter.c
浏览文件 @
51755e97
...
@@ -476,7 +476,7 @@ static int32_t sifDoIndex(SIFParam *left, SIFParam *right, int8_t operType, SIFP
...
@@ -476,7 +476,7 @@ static int32_t sifDoIndex(SIFParam *left, SIFParam *right, int8_t operType, SIFP
ret
=
indexJsonSearch
(
arg
->
ivtIdx
,
mtm
,
output
->
result
);
ret
=
indexJsonSearch
(
arg
->
ivtIdx
,
mtm
,
output
->
result
);
indexMultiTermQueryDestroy
(
mtm
);
indexMultiTermQueryDestroy
(
mtm
);
}
else
{
}
else
{
bool
reverse
,
equal
;
bool
reverse
=
false
,
equal
=
false
;
FilterFunc
filterFunc
=
sifGetFilterFunc
(
qtype
,
&
reverse
,
&
equal
);
FilterFunc
filterFunc
=
sifGetFilterFunc
(
qtype
,
&
reverse
,
&
equal
);
SMetaFltParam
param
=
{.
suid
=
arg
->
suid
,
SMetaFltParam
param
=
{.
suid
=
arg
->
suid
,
...
...
tests/script/tsim/tagindex/add_index.sim
浏览文件 @
51755e97
...
@@ -7,7 +7,7 @@ print ======== step0
...
@@ -7,7 +7,7 @@ print ======== step0
$dbPrefix = ta_3_db
$dbPrefix = ta_3_db
$tbPrefix = ta_3_tb
$tbPrefix = ta_3_tb
$mtPrefix = ta_3_mt
$mtPrefix = ta_3_mt
$tbNum = 10
1
$tbNum = 10
0
$rowNum = 20
$rowNum = 20
$totalNum = 200
$totalNum = 200
...
...
tests/script/tsim/tagindex/sma_and_tag_index.sim
浏览文件 @
51755e97
...
@@ -7,7 +7,7 @@ print ======== step0
...
@@ -7,7 +7,7 @@ print ======== step0
$dbPrefix = ta_3_db
$dbPrefix = ta_3_db
$tbPrefix = ta_3_tb
$tbPrefix = ta_3_tb
$mtPrefix = ta_3_mt
$mtPrefix = ta_3_mt
$tbNum = 1
01
$tbNum = 1
$rowNum = 20
$rowNum = 20
$totalNum = 200
$totalNum = 200
...
@@ -48,10 +48,21 @@ while $i < $tbNum
...
@@ -48,10 +48,21 @@ while $i < $tbNum
endw
endw
sql create index ti2 on $mtPrefix (t2)
print --> create sma and tag index, global name conflict
sql create sma index t2i on $mtPrefix function(max(c1)) interval(6m,10s) sliding(6m);
sql_error create index t2i on $mtPrefix (t2)
sql drop index t2i
#print --> create tagindex and sma index, global name conflict
sql create index t2i on $mtPrefix (t2)
sql_error create sma index t2i on $mtPrefix function(max(c1)) interval(6m,10s) sliding(6m);
sql drop index t2i
print ==== test name conflict
print ==== test name conflict
#
sql_error create index ti3 on $mtPrefix(t2)
sql_error create index ti3 on $mtPrefix(t2)
sql_error create index ti2 on $mtPrefix(t2)
sql_error create index ti2 on $mtPrefix(t2)
...
@@ -60,22 +71,4 @@ sql_error create index ti2 on $mtPrefix(t3)
...
@@ -60,22 +71,4 @@ sql_error create index ti2 on $mtPrefix(t3)
sql_error create index ti2 on $mtPrefix(txx)
sql_error create index ti2 on $mtPrefix(txx)
print === show index
sql select * from information_schema.ins_indexes
if $rows != 1 then
return -1
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录