[FEAT MERGE] 4.x Dup Table
Co-authored-by: Minionyh <minions.yh@gmail.com> Co-authored-by: BinChenn <binchenn.bc@gmail.com> Co-authored-by: ChangerR <dingjinchengyx@163.com>
This commit is contained in:
@ -15,6 +15,7 @@
|
||||
#include <gmock/gmock.h>
|
||||
#define private public
|
||||
#include "rootserver/ob_primary_ls_service.h"
|
||||
#include "share/ls/ob_ls_operator.h"
|
||||
namespace oceanbase {
|
||||
using namespace common;
|
||||
using namespace share;
|
||||
@ -261,6 +262,110 @@ TEST_F(TestPrimaryLSService, zone_balance)
|
||||
ASSERT_EQ(3, count_group_by_zone.at(2));
|
||||
|
||||
|
||||
}
|
||||
TEST_F(TestPrimaryLSService, LS_FLAG)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
ObLSFlag flag;
|
||||
ObLSFlagStr str;
|
||||
ObLSFlagStr empty_str;
|
||||
ObLSFlagStr str0("DUPLICATE");
|
||||
ObLSFlagStr str1("DUPLICATE ");
|
||||
ObLSFlagStr str2(" DUPLICATE ");
|
||||
ObLSFlagStr str3("BLOCK_TABLET_IN");
|
||||
ObLSFlagStr str4("BLOCK_TABLET_IN ");
|
||||
ObLSFlagStr str5("BLOCK_TABLET_IN|DUPLICATE");
|
||||
ObLSFlagStr str6("DUPLICATE|BLOCK_TABLET_IN");
|
||||
ObLSFlagStr str7("BLOCK_TABLET_IN | DUPLICATE");
|
||||
ObLSFlagStr str8("BLOCK_TABLET_IN,DUPLICATE");
|
||||
ObLSFlagStr str9("BLOCK_TABLET_IN DUPLICATE");
|
||||
|
||||
ret = flag.flag_to_str(str);
|
||||
ASSERT_EQ(ret, OB_SUCCESS);
|
||||
ASSERT_EQ(empty_str, str);
|
||||
ASSERT_EQ(0, flag.flag_);
|
||||
LOG_INFO("test", K(flag), K(str));
|
||||
|
||||
flag.set_block_tablet_in();
|
||||
ASSERT_EQ(2, flag.flag_);
|
||||
ret = flag.flag_to_str(str);
|
||||
ASSERT_EQ(str3, str);
|
||||
LOG_INFO("test", K(flag), K(str));
|
||||
|
||||
flag.clear_block_tablet_in();
|
||||
ASSERT_EQ(0, flag.flag_);
|
||||
ret = flag.flag_to_str(str);
|
||||
ASSERT_EQ(ret, OB_SUCCESS);
|
||||
ASSERT_EQ(empty_str, str);
|
||||
LOG_INFO("test", K(flag), K(str));
|
||||
|
||||
flag.set_duplicate();
|
||||
ASSERT_EQ(1, flag.flag_);
|
||||
ret = flag.flag_to_str(str);
|
||||
ASSERT_EQ(ret, OB_SUCCESS);
|
||||
ASSERT_EQ(str0, str);
|
||||
LOG_INFO("test", K(flag), K(str));
|
||||
|
||||
flag.set_block_tablet_in();
|
||||
ASSERT_EQ(3, flag.flag_);
|
||||
ret = flag.flag_to_str(str);
|
||||
ASSERT_EQ(ret, OB_SUCCESS);
|
||||
ASSERT_EQ(str6, str);
|
||||
LOG_INFO("test", K(flag), K(str));
|
||||
|
||||
flag.clear_block_tablet_in();
|
||||
ASSERT_EQ(1, flag.flag_);
|
||||
ret = flag.flag_to_str(str);
|
||||
ASSERT_EQ(ret, OB_SUCCESS);
|
||||
ASSERT_EQ(str0, str);
|
||||
LOG_INFO("test", K(flag), K(str));
|
||||
|
||||
ret = flag.str_to_flag(empty_str.str());
|
||||
ASSERT_EQ(ret, OB_SUCCESS);
|
||||
ASSERT_EQ(0, flag.flag_);
|
||||
LOG_INFO("test", K(flag));
|
||||
|
||||
ret = flag.str_to_flag(str0.str());
|
||||
ASSERT_EQ(ret, OB_SUCCESS);
|
||||
ASSERT_EQ(1, flag.flag_);
|
||||
LOG_INFO("test", K(flag));
|
||||
|
||||
ret = flag.str_to_flag(str1.str());
|
||||
ASSERT_EQ(OB_ERR_UNEXPECTED, ret);
|
||||
|
||||
ret = flag.str_to_flag(str2.str());
|
||||
ASSERT_EQ(OB_ERR_UNEXPECTED, ret);
|
||||
|
||||
ret = flag.str_to_flag(str3.str());
|
||||
ASSERT_EQ(ret, OB_SUCCESS);
|
||||
ASSERT_EQ(2, flag.flag_);
|
||||
LOG_INFO("test", K(flag));
|
||||
|
||||
ret = flag.str_to_flag(str4.str());
|
||||
ASSERT_EQ(OB_ERR_UNEXPECTED, ret);
|
||||
|
||||
ret = flag.str_to_flag(str5.str());
|
||||
ASSERT_EQ(ret, OB_SUCCESS);
|
||||
ASSERT_EQ(3, flag.flag_);
|
||||
LOG_INFO("test", K(flag));
|
||||
|
||||
ret = flag.str_to_flag(str6.str());
|
||||
ASSERT_EQ(ret, OB_SUCCESS);
|
||||
ASSERT_EQ(3, flag.flag_);
|
||||
|
||||
LOG_INFO("test", K(flag));
|
||||
ret = flag.str_to_flag(str7.str());
|
||||
ASSERT_EQ(OB_ERR_UNEXPECTED, ret);
|
||||
|
||||
LOG_INFO("test", K(flag));
|
||||
|
||||
ret = flag.str_to_flag(str8.str());
|
||||
ASSERT_EQ(OB_ERR_UNEXPECTED, ret);
|
||||
|
||||
ret = flag.str_to_flag(str9.str());
|
||||
ASSERT_EQ(OB_ERR_UNEXPECTED, ret);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user