Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
0052d5bc
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
0052d5bc
编写于
4月 29, 2022
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: adjust status in sdb
上级
5fdaceb8
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
42 addition
and
12 deletion
+42
-12
include/dnode/mnode/sdb/sdb.h
include/dnode/mnode/sdb/sdb.h
+2
-3
source/dnode/mnode/impl/src/mndStb.c
source/dnode/mnode/impl/src/mndStb.c
+1
-1
source/dnode/mnode/impl/test/sdb/sdbTest.cpp
source/dnode/mnode/impl/test/sdb/sdbTest.cpp
+34
-4
source/dnode/mnode/sdb/src/sdbHash.c
source/dnode/mnode/sdb/src/sdbHash.c
+0
-4
source/dnode/mnode/sdb/src/sdbRaw.c
source/dnode/mnode/sdb/src/sdbRaw.c
+5
-0
未找到文件。
include/dnode/mnode/sdb/sdb.h
浏览文件 @
0052d5bc
...
@@ -107,10 +107,9 @@ typedef enum {
...
@@ -107,10 +107,9 @@ typedef enum {
typedef
enum
{
typedef
enum
{
SDB_STATUS_INIT
=
0
,
SDB_STATUS_INIT
=
0
,
SDB_STATUS_CREATING
=
1
,
SDB_STATUS_CREATING
=
1
,
SDB_STATUS_
UPDAT
ING
=
2
,
SDB_STATUS_
DROPP
ING
=
2
,
SDB_STATUS_DROPP
ING
=
3
,
SDB_STATUS_DROPP
ED
=
3
,
SDB_STATUS_READY
=
4
,
SDB_STATUS_READY
=
4
,
SDB_STATUS_DROPPED
=
5
}
ESdbStatus
;
}
ESdbStatus
;
typedef
enum
{
typedef
enum
{
...
...
source/dnode/mnode/impl/src/mndStb.c
浏览文件 @
0052d5bc
...
@@ -1102,7 +1102,7 @@ static int32_t mndSetAlterStbRedoLogs(SMnode *pMnode, STrans *pTrans, SDbObj *pD
...
@@ -1102,7 +1102,7 @@ static int32_t mndSetAlterStbRedoLogs(SMnode *pMnode, STrans *pTrans, SDbObj *pD
SSdbRaw
*
pRedoRaw
=
mndStbActionEncode
(
pStb
);
SSdbRaw
*
pRedoRaw
=
mndStbActionEncode
(
pStb
);
if
(
pRedoRaw
==
NULL
)
return
-
1
;
if
(
pRedoRaw
==
NULL
)
return
-
1
;
if
(
mndTransAppendRedolog
(
pTrans
,
pRedoRaw
)
!=
0
)
return
-
1
;
if
(
mndTransAppendRedolog
(
pTrans
,
pRedoRaw
)
!=
0
)
return
-
1
;
if
(
sdbSetRawStatus
(
pRedoRaw
,
SDB_STATUS_
UPDATING
)
!=
0
)
return
-
1
;
if
(
sdbSetRawStatus
(
pRedoRaw
,
SDB_STATUS_
READY
)
!=
0
)
return
-
1
;
return
0
;
return
0
;
}
}
...
...
source/dnode/mnode/impl/test/sdb/sdbTest.cpp
浏览文件 @
0052d5bc
...
@@ -601,8 +601,8 @@ TEST_F(MndTestSdb, 01_Write_Str) {
...
@@ -601,8 +601,8 @@ TEST_F(MndTestSdb, 01_Write_Str) {
pRaw
=
i32Encode
(
&
i32Obj
);
pRaw
=
i32Encode
(
&
i32Obj
);
sdbSetRawStatus
(
pRaw
,
SDB_STATUS_DROPPED
);
sdbSetRawStatus
(
pRaw
,
SDB_STATUS_DROPPED
);
ASSERT_EQ
(
sdbWrite
(
pSdb
,
pRaw
),
0
);
ASSERT_EQ
(
sdbWrite
(
pSdb
,
pRaw
),
0
);
p
Obj
=
(
SStr
Obj
*
)
sdbAcquire
(
pSdb
,
SDB_VGROUP
,
&
key
);
p
I32Obj
=
(
SI32
Obj
*
)
sdbAcquire
(
pSdb
,
SDB_VGROUP
,
&
key
);
ASSERT_EQ
(
pObj
,
nullptr
);
ASSERT_EQ
(
p
I32
Obj
,
nullptr
);
ASSERT_EQ
(
sdbGetSize
(
pSdb
,
SDB_VGROUP
),
0
);
ASSERT_EQ
(
sdbGetSize
(
pSdb
,
SDB_VGROUP
),
0
);
ASSERT_EQ
(
sdbGetTableVer
(
pSdb
,
SDB_VGROUP
),
3
);
ASSERT_EQ
(
sdbGetTableVer
(
pSdb
,
SDB_VGROUP
),
3
);
ASSERT_EQ
(
sdbGetMaxId
(
pSdb
,
SDB_VGROUP
),
5
);
ASSERT_EQ
(
sdbGetMaxId
(
pSdb
,
SDB_VGROUP
),
5
);
...
@@ -868,7 +868,37 @@ TEST_F(MndTestSdb, 01_Read_Str) {
...
@@ -868,7 +868,37 @@ TEST_F(MndTestSdb, 01_Read_Str) {
ASSERT_EQ
(
sdbGetSize
(
pSdb
,
SDB_CONSUMER
),
1
);
ASSERT_EQ
(
sdbGetSize
(
pSdb
,
SDB_CONSUMER
),
1
);
ASSERT_EQ
(
sdbGetTableVer
(
pSdb
,
SDB_CONSUMER
),
4
);
ASSERT_EQ
(
sdbGetTableVer
(
pSdb
,
SDB_CONSUMER
),
4
);
sdbCleanup
(
pSdb
);
ASSERT_EQ
(
mnode
.
insertTimes
,
4
);
ASSERT_EQ
(
mnode
.
insertTimes
,
4
);
ASSERT_EQ
(
mnode
.
deleteTimes
,
4
);
ASSERT_EQ
(
mnode
.
deleteTimes
,
0
);
{
SI32Obj
i32Obj
=
{
0
};
int32_t
key
=
6
;
i32SetDefault
(
&
i32Obj
,
key
);
pRaw
=
i32Encode
(
&
i32Obj
);
sdbSetRawStatus
(
pRaw
,
SDB_STATUS_DROPPING
);
ASSERT_EQ
(
sdbWrite
(
pSdb
,
pRaw
),
0
);
pI32Obj
=
(
SI32Obj
*
)
sdbAcquire
(
pSdb
,
SDB_VGROUP
,
&
key
);
ASSERT_EQ
(
pI32Obj
,
nullptr
);
int32_t
code
=
terrno
;
ASSERT_EQ
(
code
,
TSDB_CODE_SDB_OBJ_DROPPING
);
}
{
SI32Obj
i32Obj
=
{
0
};
int32_t
key
=
8
;
i32SetDefault
(
&
i32Obj
,
key
);
pRaw
=
i32Encode
(
&
i32Obj
);
EXPECT_NE
(
sdbSetRawStatus
(
pRaw
,
SDB_STATUS_INIT
),
0
);
sdbSetRawStatus
(
pRaw
,
SDB_STATUS_CREATING
);
ASSERT_EQ
(
sdbWrite
(
pSdb
,
pRaw
),
0
);
pI32Obj
=
(
SI32Obj
*
)
sdbAcquire
(
pSdb
,
SDB_VGROUP
,
&
key
);
ASSERT_EQ
(
pI32Obj
,
nullptr
);
int32_t
code
=
terrno
;
ASSERT_EQ
(
code
,
TSDB_CODE_SDB_OBJ_CREATING
);
}
sdbCleanup
(
pSdb
);
ASSERT_EQ
(
mnode
.
insertTimes
,
5
);
ASSERT_EQ
(
mnode
.
deleteTimes
,
5
);
}
}
\ No newline at end of file
source/dnode/mnode/sdb/src/sdbHash.c
浏览文件 @
0052d5bc
...
@@ -69,8 +69,6 @@ static const char *sdbStatusName(ESdbStatus status) {
...
@@ -69,8 +69,6 @@ static const char *sdbStatusName(ESdbStatus status) {
switch
(
status
)
{
switch
(
status
)
{
case
SDB_STATUS_CREATING
:
case
SDB_STATUS_CREATING
:
return
"creating"
;
return
"creating"
;
case
SDB_STATUS_UPDATING
:
return
"updating"
;
case
SDB_STATUS_DROPPING
:
case
SDB_STATUS_DROPPING
:
return
"dropping"
;
return
"dropping"
;
case
SDB_STATUS_READY
:
case
SDB_STATUS_READY
:
...
@@ -253,7 +251,6 @@ int32_t sdbWriteWithoutFree(SSdb *pSdb, SSdbRaw *pRaw) {
...
@@ -253,7 +251,6 @@ int32_t sdbWriteWithoutFree(SSdb *pSdb, SSdbRaw *pRaw) {
case
SDB_STATUS_CREATING
:
case
SDB_STATUS_CREATING
:
code
=
sdbInsertRow
(
pSdb
,
hash
,
pRaw
,
pRow
,
keySize
);
code
=
sdbInsertRow
(
pSdb
,
hash
,
pRaw
,
pRow
,
keySize
);
break
;
break
;
case
SDB_STATUS_UPDATING
:
case
SDB_STATUS_READY
:
case
SDB_STATUS_READY
:
case
SDB_STATUS_DROPPING
:
case
SDB_STATUS_DROPPING
:
code
=
sdbUpdateRow
(
pSdb
,
hash
,
pRaw
,
pRow
,
keySize
);
code
=
sdbUpdateRow
(
pSdb
,
hash
,
pRaw
,
pRow
,
keySize
);
...
@@ -294,7 +291,6 @@ void *sdbAcquire(SSdb *pSdb, ESdbType type, const void *pKey) {
...
@@ -294,7 +291,6 @@ void *sdbAcquire(SSdb *pSdb, ESdbType type, const void *pKey) {
SSdbRow
*
pRow
=
*
ppRow
;
SSdbRow
*
pRow
=
*
ppRow
;
switch
(
pRow
->
status
)
{
switch
(
pRow
->
status
)
{
case
SDB_STATUS_READY
:
case
SDB_STATUS_READY
:
case
SDB_STATUS_UPDATING
:
atomic_add_fetch_32
(
&
pRow
->
refCount
,
1
);
atomic_add_fetch_32
(
&
pRow
->
refCount
,
1
);
pRet
=
pRow
->
pObj
;
pRet
=
pRow
->
pObj
;
sdbPrintOper
(
pSdb
,
pRow
,
"acquire"
);
sdbPrintOper
(
pSdb
,
pRow
,
"acquire"
);
...
...
source/dnode/mnode/sdb/src/sdbRaw.c
浏览文件 @
0052d5bc
...
@@ -134,6 +134,11 @@ int32_t sdbSetRawStatus(SSdbRaw *pRaw, ESdbStatus status) {
...
@@ -134,6 +134,11 @@ int32_t sdbSetRawStatus(SSdbRaw *pRaw, ESdbStatus status) {
return
-
1
;
return
-
1
;
}
}
if
(
status
==
SDB_STATUS_INIT
)
{
terrno
=
TSDB_CODE_INVALID_PARA
;
return
-
1
;
}
pRaw
->
status
=
status
;
pRaw
->
status
=
status
;
return
0
;
return
0
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录