Files
oceanbase/mittest/mtlenv/tablelock/table_lock_common_env.h
2024-09-25 17:46:59 +00:00

127 lines
5.1 KiB
C++

/**
* Copyright (c) 2021 OceanBase
* OceanBase CE is licensed under Mulan PubL v2.
* You can use this software according to the terms and conditions of the Mulan PubL v2.
* You may obtain a copy of Mulan PubL v2 at:
* http://license.coscl.org.cn/MulanPubL-2.0
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PubL v2 for more details.
*/
#ifndef OCEANBASE_STORAGE_TABLELOCK_OB_TABLE_LOCK_COMMON_ENV_
#define OCEANBASE_STORAGE_TABLELOCK_OB_TABLE_LOCK_COMMON_ENV_
#include "storage/tablelock/ob_table_lock_common.h"
namespace oceanbase
{
namespace transaction
{
namespace tablelock
{
uint64_t DEFAULT_TABLE = 1;
uint64_t TABLE2 = 2;
uint64_t TABLE3 = 3;
ObTabletID DEFAULT_TABLET(1);
ObTabletID TABLET2(2);
ObTabletID TABLET3(3);
ObLockID DEFAULT_TABLET_LOCK_ID;
ObLockID TABLET_LOCK_ID2;
ObLockID TABLET_LOCK_ID3;
ObLockID DEFAULT_TABLE_LOCK_ID;
ObLockID TABLE_LOCK_ID2;
ObLockID TABLE_LOCK_ID3;
ObTableLockMode DEFAULT_LOCK_MODE = ROW_EXCLUSIVE;
ObTableLockMode DEFAULT_CONFLICT_LOCK_MODE = EXCLUSIVE;
ObTableLockOwnerID DEFAULT_IN_TRANS_OWNER_ID(ObTableLockOwnerID::default_owner());
ObTableLockOwnerID DEFAULT_OUT_TRANS_OWNER_ID(ObTableLockOwnerID::get_owner_by_value(100));
ObTableLockOwnerID CONFLICT_OWNER_ID(ObTableLockOwnerID::get_owner_by_value(1));
ObTableLockOwnerID OWNER_ID2(ObTableLockOwnerID::get_owner_by_value(2));
ObTableLockOwnerID OWNER_ID3(ObTableLockOwnerID::get_owner_by_value(3));
ObTableLockOpType DEFAULT_LOCK_OP_TYPE = ObTableLockOpType::IN_TRANS_DML_LOCK;
ObTableLockOpType OUT_TRANS_LOCK_OP_TYPE = ObTableLockOpType::OUT_TRANS_LOCK;
ObTableLockOpType OUT_TRANS_UNLOCK_OP_TYPE = ObTableLockOpType::OUT_TRANS_UNLOCK;
ObTableLockOpStatus DEFAULT_LOCK_OP_STATUS = ObTableLockOpStatus::LOCK_OP_DOING;
ObTableLockOpStatus COMMIT_LOCK_OP_STATUS = ObTableLockOpStatus::LOCK_OP_COMPLETE;
ObTransID DEFAULT_TRANS_ID = 1;
ObTransID TRANS_ID2 = 2;
ObTransID TRANS_ID3 = 3;
ObTableLockOp DEFAULT_IN_TRANS_LOCK_OP;
ObTableLockOp DEFAULT_OUT_TRANS_LOCK_OP;
ObTableLockOp DEFAULT_OUT_TRANS_UNLOCK_OP;
ObTableLockOp DEFAULT_CONFLICT_OUT_TRANS_LOCK_OP;
ObTableLockOp DEFAULT_OUT_TRANS_REPLACE_LOCK_OP;
void init_default_lock_test_value()
{
int ret = OB_SUCCESS;
const ObTxSEQ seq_no(100,0);
const int64_t create_timestamp = 1;
const int64_t create_schema_version = 1;
ret = get_lock_id(DEFAULT_TABLET, DEFAULT_TABLET_LOCK_ID);
ASSERT_EQ(OB_SUCCESS, ret);
ret = get_lock_id(TABLET2, TABLET_LOCK_ID2);
ASSERT_EQ(OB_SUCCESS, ret);
ret = get_lock_id(TABLET3, TABLET_LOCK_ID3);
ASSERT_EQ(OB_SUCCESS, ret);
ret = get_lock_id(DEFAULT_TABLE, DEFAULT_TABLE_LOCK_ID);
ASSERT_EQ(OB_SUCCESS, ret);
ret = get_lock_id(TABLE2, TABLE_LOCK_ID2);
ASSERT_EQ(OB_SUCCESS, ret);
ret = get_lock_id(TABLE3, TABLE_LOCK_ID3);
ASSERT_EQ(OB_SUCCESS, ret);
DEFAULT_IN_TRANS_LOCK_OP.set(DEFAULT_TABLET_LOCK_ID,
DEFAULT_LOCK_MODE,
DEFAULT_IN_TRANS_OWNER_ID,
DEFAULT_TRANS_ID,
DEFAULT_LOCK_OP_TYPE,
DEFAULT_LOCK_OP_STATUS,
seq_no,
create_timestamp,
create_schema_version);
DEFAULT_OUT_TRANS_LOCK_OP.set(DEFAULT_TABLE_LOCK_ID,
DEFAULT_LOCK_MODE,
DEFAULT_OUT_TRANS_OWNER_ID,
DEFAULT_TRANS_ID,
OUT_TRANS_LOCK_OP_TYPE,
DEFAULT_LOCK_OP_STATUS,
seq_no,
create_timestamp,
create_schema_version);
DEFAULT_OUT_TRANS_UNLOCK_OP.set(DEFAULT_TABLE_LOCK_ID,
DEFAULT_LOCK_MODE,
DEFAULT_OUT_TRANS_OWNER_ID,
DEFAULT_TRANS_ID,
OUT_TRANS_UNLOCK_OP_TYPE,
DEFAULT_LOCK_OP_STATUS,
seq_no,
create_timestamp,
create_schema_version);
DEFAULT_CONFLICT_OUT_TRANS_LOCK_OP.set(DEFAULT_TABLET_LOCK_ID,
DEFAULT_CONFLICT_LOCK_MODE,
CONFLICT_OWNER_ID,
TRANS_ID2,
OUT_TRANS_LOCK_OP_TYPE,
DEFAULT_LOCK_OP_STATUS,
seq_no,
create_timestamp,
create_schema_version);
}
} // tablelock
} // transaction
} // oceanbase
#endif