Files
oceanbase/unittest/pl/test_mock_pl_stmt.cpp
wangzelin.wzl 93a1074b0c patch 4.0
2022-10-24 17:57:12 +08:00

45 lines
1.7 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.
*/
#include "test_mock_pl_stmt.h"
using namespace oceanbase::pl;
namespace test
{
ObPLStmt *TestPLStmtMockService::make_stmt(ObPLStmtType type, ObPLStmtBlock *block)
{
ObPLStmt *stmt = stmt_factory_.allocate(type, block);
++cur_loc_.line_;
stmt->set_location(cur_loc_);
if (NULL != block) {
block->add_stmt(stmt);
}
return stmt;
}
ObPLStmtBlock *TestPLStmtMockService::make_block(ObPLBlockNS *pre_ns,
ObPLSymbolTable *symbol_table,
ObPLLabelTable *label_table,
ObPLConditionTable *condition_table,
ObPLCursorTable *cursor_table,
common::ObIArray<ObRawExpr*> *exprs,
ObPLExternalNS *external_ns)
{
ObPLStmtBlock *block = static_cast<ObPLStmtBlock*>(allocator_.alloc(sizeof(ObPLStmtBlock)));
block = new(block)ObPLStmtBlock(allocator_, pre_ns, symbol_table, label_table, condition_table, cursor_table, NULL, exprs, external_ns);
return block;
}
}