本文整理汇总了C++中ObRow::get_cell方法的典型用法代码示例。如果您正苦于以下问题:C++ ObRow::get_cell方法的具体用法?C++ ObRow::get_cell怎么用?C++ ObRow::get_cell使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObRow
的用法示例。
在下文中一共展示了ObRow::get_cell方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: is_same_group
// if there is no group columns, is_same_group returns true
int ObMergeGroupBy::is_same_group(const ObRow &row1, const ObRow &row2, bool &result)
{
int ret = OB_SUCCESS;
result = true;
const ObObj *cell1 = NULL;
const ObObj *cell2 = NULL;
for (int64_t i = 0; i < group_columns_.count(); ++i)
{
const ObGroupColumn &group_col = group_columns_.at(i);
if (OB_SUCCESS != (ret = row1.get_cell(group_col.table_id_, group_col.column_id_, cell1)))
{
TBSYS_LOG(WARN, "failed to get cell, err=%d tid=%lu cid=%lu",
ret, group_col.table_id_, group_col.column_id_);
break;
}
else if (OB_SUCCESS != (ret = row2.get_cell(group_col.table_id_, group_col.column_id_, cell2)))
{
TBSYS_LOG(WARN, "failed to get cell, err=%d tid=%lu cid=%lu",
ret, group_col.table_id_, group_col.column_id_);
break;
}
else if (*cell1 != *cell2)
{
result = false;
break;
}
} // end for
return ret;
}
示例2: get_right_table_rowkey
int ObTabletJoin::get_right_table_rowkey(const ObRow &row, uint64_t &right_table_id, ObString &rowkey) const
{
int ret = OB_SUCCESS;
const ObObj *cell = NULL;
JoinInfo join_info;
if(OB_SUCCESS != (ret = table_join_info_.join_condition_.at(0, join_info)))
{
TBSYS_LOG(WARN, "get join condition fail:ret[%d]", ret);
}
if(OB_SUCCESS == ret)
{
right_table_id = join_info.right_table_id_;
if(OB_SUCCESS != (ret = row.get_cell(table_join_info_.left_table_id_, join_info.left_column_id_, cell)))
{
TBSYS_LOG(WARN, "row get cell fail:ret[%d]", ret);
}
else if(OB_SUCCESS != (ret = cell->get_varchar(rowkey)))
{
TBSYS_LOG(WARN, "get_varchar fail:ret[%d]", ret);
}
}
return ret;
}
示例3:
// ObRow.reset
TEST_F(ObRowTest, reset_test)
{
ObRow row;
ObRowDesc row_desc;
const uint64_t TABLE_ID = 1001;
const int64_t COLUMN_NUM = 8;
ObObj cell;
const ObObj *value = NULL;
uint64_t table_id = 0;
uint64_t column_id = 0;
int64_t int_value = 0;
row_desc.set_rowkey_cell_count(2);
for (int i = 0; i < COLUMN_NUM; i ++)
{
row_desc.add_column_desc(TABLE_ID, OB_APP_MIN_COLUMN_ID + i);
}
row.set_row_desc(row_desc);
for (int i = 0; i < COLUMN_NUM; i ++)
{
cell.set_int(i);
row.raw_set_cell(i, cell);
}
row.reset(true, ObRow::DEFAULT_NULL);
for (int i = 0; i < row_desc.get_rowkey_cell_count(); i ++)
{
row.raw_get_cell(i, value, table_id, column_id);
value->get_int(int_value);
ASSERT_EQ(i, int_value);
}
for (int64_t i = row_desc.get_rowkey_cell_count(); i < COLUMN_NUM; i ++)
{
row.raw_get_cell(i, value, table_id, column_id);
ASSERT_TRUE( ObNullType == value->get_type() );
}
row_desc.add_column_desc(OB_INVALID_ID, OB_ACTION_FLAG_COLUMN_ID);
cell.set_ext(ObActionFlag::OP_DEL_ROW);
row.set_cell(OB_INVALID_ID, OB_ACTION_FLAG_COLUMN_ID, cell);
row.reset(true, ObRow::DEFAULT_NOP);
for (int i = 0; i < row_desc.get_rowkey_cell_count(); i ++)
{
row.raw_get_cell(i, value, table_id, column_id);
value->get_int(int_value);
ASSERT_EQ(i, int_value);
}
for (int64_t i = row_desc.get_rowkey_cell_count(); i < COLUMN_NUM; i ++)
{
row.raw_get_cell(i, value, table_id, column_id);
ASSERT_TRUE( ObActionFlag::OP_NOP == value->get_ext() ) << "ext value: " << value->get_ext();
}
row.get_cell(OB_INVALID_ID, OB_ACTION_FLAG_COLUMN_ID, value);
ASSERT_TRUE( ObActionFlag::OP_ROW_DOES_NOT_EXIST == value->get_ext() );
}