bool bind_and_execute_insert(CassStatement* statement) { boost::chrono::system_clock::time_point now(boost::chrono::system_clock::now()); boost::chrono::milliseconds event_time(boost::chrono::duration_cast<boost::chrono::milliseconds>(now.time_since_epoch())); std::string text_sample(test_utils::string_from_time_point(now)); cass_statement_bind_uuid(statement, 0, test_utils::generate_time_uuid(uuid_gen)); cass_statement_bind_int64(statement, 1, event_time.count()); cass_statement_bind_string_n(statement, 2, text_sample.data(), text_sample.size()); return execute_insert(statement); }
std::string get_replica(test_utils::CassSessionPtr session, const std::string& keyspace, const std::string& value) { // The query doesn't matter test_utils::CassStatementPtr statement( cass_statement_new("SELECT * FROM system.local", 1)); cass_statement_bind_string_n(statement.get(), 0, value.data(), value.size()); cass_statement_add_key_index(statement.get(), 0); cass_statement_set_keyspace(statement.get(), keyspace.c_str()); test_utils::CassFuturePtr future( cass_session_execute(session.get(), statement.get())); return cass::get_host_from_future(future.get()); }
void bindString_n(unsigned idx, const char *value, unsigned len) { if (strlen(value)<len) { if (query.length()) traceBind(idx, "'%s'", value); check(cass_statement_bind_string(statement, idx, value)); } else { if (query.length()) traceBind(idx, "'%.*s'", len>100?100:len, value); check(cass_statement_bind_string_n(statement, idx, value, len)); } }
CassError cass_statement_bind_string(CassStatement* statement, size_t index, const char* value) { return cass_statement_bind_string_n(statement, index, value, SAFE_STRLEN(value)); }
static CassError bind(CassStatement* statement, size_t index, CassString value) { return cass_statement_bind_string_n(statement, index, value.data, value.length); }