本文整理汇总了C++中std::shared_ptr::CommitInsertedTuple方法的典型用法代码示例。如果您正苦于以下问题:C++ shared_ptr::CommitInsertedTuple方法的具体用法?C++ shared_ptr::CommitInsertedTuple怎么用?C++ shared_ptr::CommitInsertedTuple使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类std::shared_ptr
的用法示例。
在下文中一共展示了shared_ptr::CommitInsertedTuple方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PopulateTiles
/**
* @brief Populates the tiles in the given tile-group in a specific manner.
* @param tile_group Tile-group to populate with values.
* @param num_rows Number of tuples to insert.
*/
void ExecutorTestsUtil::PopulateTiles(
std::shared_ptr<storage::TileGroup> tile_group, int num_rows) {
// Create tuple schema from tile schemas.
std::vector<catalog::Schema> &tile_schemas = tile_group->GetTileSchemas();
std::unique_ptr<catalog::Schema> schema(
catalog::Schema::AppendSchemaList(tile_schemas));
// Ensure that the tile group is as expected.
assert(schema->GetColumnCount() == 4);
// Insert tuples into tile_group.
auto &txn_manager = concurrency::TransactionManager::GetInstance();
const bool allocate = true;
auto txn = txn_manager.BeginTransaction();
const txn_id_t txn_id = txn->GetTransactionId();
const cid_t commit_id = txn->GetCommitId();
auto testing_pool = TestingHarness::GetInstance().GetTestingPool();
for (int col_itr = 0; col_itr < num_rows; col_itr++) {
storage::Tuple tuple(schema.get(), allocate);
tuple.SetValue(0, ValueFactory::GetIntegerValue(PopulatedValue(col_itr, 0)),
testing_pool);
tuple.SetValue(1, ValueFactory::GetIntegerValue(PopulatedValue(col_itr, 1)),
testing_pool);
tuple.SetValue(2, ValueFactory::GetDoubleValue(PopulatedValue(col_itr, 2)),
testing_pool);
Value string_value = ValueFactory::GetStringValue(
std::to_string(PopulatedValue(col_itr, 3)));
tuple.SetValue(3, string_value, testing_pool);
oid_t tuple_slot_id = tile_group->InsertTuple(txn_id, &tuple);
tile_group->CommitInsertedTuple(tuple_slot_id, txn_id, commit_id);
}
txn_manager.CommitTransaction();
}