Exemplo n.º 1
0
TEST_F(ObLimitTest, limiter_10_10_2_basic_test)
{
  ObObj obj_a, obj_b;
  ObLimit limiter;
  ObSingleChildPhyOperator &single_op = limiter;
  ObFakeTable phy_op;
  const ObRow *next_row_p = NULL;
  int count = 0;

  phy_op.set_row_count(10);
  single_op.set_child(0, phy_op);
  ObSqlExpression limit;
  ObSqlExpression offset;
  ExprItem item;
  item.type_ = T_INT;
  item.data_type_ = ObIntType;
  item.value_.int_ = 10;
  ASSERT_EQ(OB_SUCCESS, limit.add_expr_item(item));
  ASSERT_EQ(OB_SUCCESS, limit.add_expr_item_end());
  item.value_.int_ = 2;
  ASSERT_EQ(OB_SUCCESS, offset.add_expr_item(item));
  ASSERT_EQ(OB_SUCCESS, offset.add_expr_item_end());
  limiter.set_limit(limit, offset);
  limiter.open();
  while(OB_ITER_END != limiter.get_next_row(next_row_p))
  {
    ASSERT_EQ(true, NULL != next_row_p);
    next_row_p = NULL;
    count++;
  }
  ASSERT_EQ(count, 8);
  limiter.close();
}
Exemplo n.º 2
0
TEST_F(ObLimitTest, limiter_10_10_2_basic_test)
{
  ObObj obj_a, obj_b;
  ObLimit limiter;
  ObSingleChildPhyOperator &single_op = limiter;
  ObFakeTable phy_op;
  const ObRow *next_row_p = NULL;
  int count = 0;

  phy_op.set_row_count(10);
  single_op.set_child(0, phy_op);
  limiter.set_limit(10, 2);
  limiter.open();
  while(OB_ITER_END != limiter.get_next_row(next_row_p))
  {
    ASSERT_EQ(true, NULL != next_row_p);
    next_row_p = NULL;
    count++;
  }
  ASSERT_EQ(count, 8);
  limiter.close();
}