Example #1
0
  void validate_results(int num_rows) {
    std::string select_query = str(boost::format("SELECT * FROM %s WHERE tweet_id = ?;") % BatchTests::SIMPLE_TABLE_NAME);

    for (int y = 0; y < num_rows; y++)
    {
      test_utils::CassStatementPtr select_statement(cass_statement_new(select_query.c_str(), 1));
      BOOST_REQUIRE(cass_statement_bind_int32(select_statement.get(), 0, y) == CASS_OK);
      test_utils::CassFuturePtr select_future(cass_session_execute(session, select_statement.get()));
      test_utils::wait_and_check_error(select_future.get());
      test_utils::CassResultPtr result(cass_future_get_result(select_future.get()));
      const CassValue* column = cass_row_get_column(cass_result_first_row(result.get()), 1);

      CassString result_value;
      BOOST_REQUIRE(cass_value_type(column) == CASS_VALUE_TYPE_VARCHAR);
      BOOST_REQUIRE(test_utils::Value<CassString>::get(column, &result_value) == CASS_OK);
      BOOST_REQUIRE(test_utils::Value<CassString>::equal(result_value, str(boost::format("test data %s") % y).c_str()));
    }
  }
Example #2
0
statement_ptr connection::prepare_statement(const string_ref& _q)
{
    string_ref q = select_statement(_q);
    BOOST_AUTO(found, (boost::equal_range(cache_, q, string_ref_less())));
    if (boost::empty(found))
    {
        statement_ptr st = prepare_statement_impl(q);
        cache_.resize(cache_.size() + 1);
        cache_.back().first.assign(q.begin(), q.end());
        cache_.back().second = st;
        boost::sort(cache_, string_ref_less());
        return st;
    }
    else
    {
        found.first->second->bindings_reset();
        return found.first->second;
    }
}
Example #3
0
statement_ptr connection::create_statement(const string_ref& _q)
{
    string_ref q = select_statement(_q);
    return create_statement_impl(q);
}