/** * 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 MOCK_OB_MEM_STORE_H_ #define MOCK_OB_MEM_STORE_H_ #include namespace oceanbase { namespace storage { class MockObMemStore : public ObIStore { public: MOCK_METHOD0(destroy, void()); MOCK_METHOD6(get, int(const ObStoreCtx &ctx, const ObQueryFlag query_flag, const uint64_t table_id, const common::ObStoreRowkey &rowkey, const common::ObIArray &columns, const ObStoreRow *&row)); MOCK_METHOD6(scan, int(const ObStoreCtx &ctx, const ObQueryFlag query_flag, const uint64_t table_id, const common::ObStoreRange &key_range, const common::ObIArray &columns, ObStoreRowIterator *&row_iter)); MOCK_METHOD6(multi_get, int(const ObStoreCtx &ctx, const ObQueryFlag query_flag, const uint64_t table_id, const common::ObIArray &rowkeys, const common::ObIArray &columns, ObStoreRowIterator *&row_iter)); MOCK_METHOD5(set, int(const ObStoreCtx &ctx, const uint64_t table_id, const int64_t rowkey_size, const common::ObIArray &columns, ObStoreRowIterator &row_iter)); MOCK_METHOD5(set, int(const ObStoreCtx &ctx, const uint64_t table_id, const int64_t rowkey_size, const common::ObIArray &columns, const ObStoreRow &row)); MOCK_METHOD4(lock, int(const ObStoreCtx &ctx, const uint64_t table_id, const common::ObIArray &columns, common::ObNewRowIterator &row_iter)); MOCK_METHOD4(lock, int(const ObStoreCtx &ctx, const uint64_t table_id, const common::ObIArray &columns, const common::ObNewRow &row)); MOCK_METHOD1(revert_iter, int(ObStoreRowIterator *iter)); MOCK_METHOD1(revert_row, int(const ObStoreRow *row)); MOCK_METHOD3(replay, int(const ObStoreCtx &ctx, const char *data, const int64_t data_len)); MOCK_METHOD5(estimate_get_cost, int(const ObQueryFlag query_flag, const uint64_t table_id, const common::ObIArray &rowkeys, const common::ObIArray &columns, ObPartitionEst &cost_metrics)); MOCK_METHOD5(estimate_scan_cost, int(const ObQueryFlag query_flag, const uint64_t table_id, const common::ObStoreRange &key_range, const common::ObIArray &columns, ObPartitionEst &cost_metrics)); enum ObStoreType get_store_type() const { return ACTIVE_MEMSTORE; } }; } // namespace storage } // namespace oceanbase #endif