本文整理汇总了C++中cass_future_wait函数的典型用法代码示例。如果您正苦于以下问题:C++ cass_future_wait函数的具体用法?C++ cass_future_wait怎么用?C++ cass_future_wait使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cass_future_wait函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: main
int main() {
CassCluster* cluster = create_cluster();
CassSession* session = cass_session_new();
CassFuture* close_future = NULL;
const Pair items[] = { { "apple", 1 }, { "orange", 2 }, { "banana", 3 }, { "mango", 4 }, { NULL, 0 } };
if (connect_session(session, cluster) != CASS_OK) {
cass_cluster_free(cluster);
cass_session_free(session);
return -1;
}
execute_query(session,
"CREATE KEYSPACE examples WITH replication = { \
'class': 'SimpleStrategy', 'replication_factor': '3' };");
execute_query(session,
"CREATE TABLE examples.maps (key text, \
items map<text, int>, \
PRIMARY KEY (key))");
insert_into_maps(session, "test", items);
select_from_maps(session, "test");
close_future = cass_session_close(session);
cass_future_wait(close_future);
cass_future_free(close_future);
cass_cluster_free(cluster);
cass_session_free(session);
return 0;
}
开发者ID:Ilceren,项目名称:cpp-driver,代码行数:35,代码来源:maps.c
示例2: insert_into_collections
CassError insert_into_collections(CassSession* session, const char* key, const char* items[]) {
CassError rc = CASS_OK;
CassStatement* statement = NULL;
CassFuture* future = NULL;
CassCollection* collection = NULL;
const char** item = NULL;
const char* query = "INSERT INTO examples.collections (key, items) VALUES (?, ?);";
statement = cass_statement_new(query, 2);
cass_statement_bind_string(statement, 0, key);
collection = cass_collection_new(CASS_COLLECTION_TYPE_SET, 2);
for (item = items; *item; item++) {
cass_collection_append_string(collection, *item);
}
cass_statement_bind_collection(statement, 1, collection);
cass_collection_free(collection);
future = cass_session_execute(session, statement);
cass_future_wait(future);
rc = cass_future_error_code(future);
if (rc != CASS_OK) {
print_error(future);
}
cass_future_free(future);
cass_statement_free(statement);
return rc;
}
开发者ID:NeelamAggarwal,项目名称:cpp-driver,代码行数:32,代码来源:collections.c
示例3: ClearDatabase
static void ClearDatabase(Upload& upload) {
DatabaseSession session;
std::string str = "delete from uploadchunks where model_id = ? and upload_id = ?";
CassStatement* statement = cass_statement_new(str.c_str(), 2);
cass_statement_bind_uuid(statement, 0, upload.ModelId());
cass_statement_bind_uuid(statement, 1, upload.UploadId());
CassFuture* future = cass_session_execute(session.Session(), statement);
cass_future_wait(future);
cass_statement_free(statement);
CassError rc = cass_future_error_code(future);
if (rc != CASS_OK) {
std::string err = std::string("Failed to execute query: ")
+ CassandraUtils::GetCassandraError(future);
cass_future_free(future);
throw err;
}
cass_future_free(future);
}
开发者ID:ricardopieper,项目名称:ProphetService,代码行数:26,代码来源:UploadChunks.hpp
示例4: main
int main() {
CassFuture* connect_future = NULL;
CassCluster* cluster = cass_cluster_new();
CassSession* session = cass_session_new();
cass_cluster_set_contact_points(cluster, "127.0.0.1");
connect_future = cass_session_connect(session, cluster);
if (cass_future_error_code(connect_future) == CASS_OK) {
CassFuture* close_future = NULL;
execute_query(session,
"CREATE KEYSPACE examples WITH replication = { \
'class': 'SimpleStrategy', 'replication_factor': '3' };");
print_keyspace(session, "examples");
execute_query(session,
"CREATE TABLE examples.schema_meta (key text, \
value bigint, \
PRIMARY KEY (key));");
print_table(session, "examples", "schema_meta");
/* Close the session */
close_future = cass_session_close(session);
cass_future_wait(close_future);
cass_future_free(close_future);
} else {
开发者ID:Ilceren,项目名称:cpp-driver,代码行数:29,代码来源:schema_meta.c
示例5: insert_into_basic
CassError insert_into_basic(CassSession* session, const char* key, const Basic* basic) {
CassError rc = CASS_OK;
CassStatement* statement = NULL;
CassFuture* future = NULL;
const char* query
= "INSERT INTO examples.basic (key, bln, flt, dbl, i32, i64) VALUES (:k, :b, :f, :d, :i32, :i64);";
statement = cass_statement_new(query, 6);
cass_statement_bind_string_by_name(statement, "k", key);
cass_statement_bind_bool_by_name(statement, "b", basic->bln);
cass_statement_bind_float_by_name(statement, "f", basic->flt);
cass_statement_bind_double_by_name(statement, "d", basic->dbl);
cass_statement_bind_int32_by_name(statement, "i32", basic->i32);
cass_statement_bind_int64_by_name(statement, "i64", basic->i64);
future = cass_session_execute(session, statement);
cass_future_wait(future);
rc = cass_future_error_code(future);
if (rc != CASS_OK) {
print_error(future);
}
cass_future_free(future);
cass_statement_free(statement);
return rc;
}
开发者ID:Instagram,项目名称:cpp-driver,代码行数:31,代码来源:named_parameters.c
示例6: select_task
bool select_task(const std::string& query, CassConsistency consistency, int num_iterations) {
bool is_successful = true;
test_utils::CassStatementPtr statement(cass_statement_new(query.c_str(), 0));
cass_statement_set_consistency(statement.get(), consistency);
for (int i = 0; i < num_iterations; ++i) {
test_utils::CassFuturePtr future(cass_session_execute(session, statement.get()));
cass_future_wait(future.get());
CassError code = cass_future_error_code(future.get());
if (code != CASS_OK
&& code != CASS_ERROR_LIB_REQUEST_TIMED_OUT
&& code != CASS_ERROR_SERVER_READ_TIMEOUT) { // Timeout is okay
CassString message;
cass_future_error_message(future.get(), &message.data, &message.length);
fprintf(stderr, "Error occurred during select '%.*s'\n", static_cast<int>(message.length), message.data);
is_successful = false;
}
if (code == CASS_OK) {
test_utils::CassResultPtr result(cass_future_get_result(future.get()));
if (cass_result_row_count(result.get()) == 0) {
fprintf(stderr, "No rows returned from query\n");
is_successful = false;
}
}
}
return is_successful;
}
开发者ID:mody,项目名称:cpp-driver,代码行数:30,代码来源:test_stress.cpp
示例7: insert_into_basic
CassError insert_into_basic(CassSession* session, const char* key, const Basic* basic) {
CassError rc = CASS_OK;
CassStatement* statement = NULL;
CassFuture* future = NULL;
const char* query = "INSERT INTO examples.basic (key, bln, flt, dbl, i32, i64) VALUES (?, ?, ?, ?, ?, ?);";
statement = cass_statement_new(query, 6);
cass_statement_bind_string(statement, 0, key);
cass_statement_bind_bool(statement, 1, basic->bln);
cass_statement_bind_float(statement, 2, basic->flt);
cass_statement_bind_double(statement, 3, basic->dbl);
cass_statement_bind_int32(statement, 4, basic->i32);
cass_statement_bind_int64(statement, 5, basic->i64);
future = cass_session_execute(session, statement);
cass_future_wait(future);
rc = cass_future_error_code(future);
if (rc != CASS_OK) {
print_error(future);
}
cass_future_free(future);
cass_statement_free(statement);
return rc;
}
开发者ID:Ilceren,项目名称:cpp-driver,代码行数:28,代码来源:basic.c
示例8: insert_into
CassError insert_into(CassSession* session, const char* key) {
CassError rc = CASS_OK;
CassStatement* statement = NULL;
CassFuture* future = NULL;
cass_uint32_t d;
cass_int64_t t;
const char* query = "INSERT INTO examples.date_time (key, d, t) VALUES (?, ?, ?);";
time_t now = time(NULL);
d = cass_date_from_epoch(now);
t = cass_time_from_epoch(now);
statement = cass_statement_new(query, 3);
cass_statement_bind_string(statement, 0, key);
cass_statement_bind_uint32(statement, 1, d);
cass_statement_bind_int64(statement, 2, t);
future = cass_session_execute(session, statement);
cass_future_wait(future);
rc = cass_future_error_code(future);
if (rc != CASS_OK) {
print_error(future);
}
cass_future_free(future);
cass_statement_free(statement);
return rc;
}
开发者ID:NeelamAggarwal,项目名称:cpp-driver,代码行数:31,代码来源:data_time.c
示例9: execute_insert
bool execute_insert(CassSession* session, const std::string& table_name) {
std::string query = str(boost::format("INSERT INTO %s (id, event_time, text_sample) VALUES (?, ?, ?)") % table_name);
test_utils::CassStatementPtr statement(cass_statement_new(query.c_str(), 3));
// Determine if bound parameters can be used based on C* version
if (version.major == 1) {
test_utils::CassPreparedPtr prepared = test_utils::prepare(session, query.c_str());
statement = test_utils::CassStatementPtr(cass_prepared_bind(prepared.get()));
}
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.get(), 0, test_utils::generate_time_uuid(uuid_gen));
cass_statement_bind_int64(statement.get(), 1, event_time.count());
cass_statement_bind_string(statement.get(), 2, text_sample.c_str());
test_utils::CassFuturePtr future(cass_session_execute(session, statement.get()));
cass_future_wait(future.get());
CassError code = cass_future_error_code(future.get());
if (code != CASS_OK && code != CASS_ERROR_LIB_REQUEST_TIMED_OUT) { // Timeout is okay
CassString message;
cass_future_error_message(future.get(), &message.data, &message.length);
fprintf(stderr, "Error occurred during insert '%.*s'\n", static_cast<int>(message.length), message.data);
return false;
}
return true;
}
开发者ID:mody,项目名称:cpp-driver,代码行数:30,代码来源:test_outage.cpp
示例10: stop_query_execution
~LatencyAwarePolicyTest() {
stop_query_execution();
uv_mutex_destroy(&lock_);
uv_cond_destroy(&condition_);
test_utils::CassFuturePtr close_future(cass_session_close(session_.get()));
cass_future_wait(close_future.get());
}
开发者ID:Shauwe,项目名称:cpp-driver,代码行数:8,代码来源:test_latency_aware_policy.cpp
示例11: lua_cass_session_close
/**
* Closes the session instance and waits for in-flight requests to finish.
*/
int lua_cass_session_close (lua_State* L)
{
fprintf(stderr, "lua_cass_session_close\n");
CassSession* session = lua_session_get_ptr(L, 1);
CassFuture* future = cass_session_close(session);
cass_future_wait(future);
cass_future_free(future);
return 0;
}
开发者ID:ignacio,项目名称:luacassandra,代码行数:12,代码来源:session.c
示例12: cass_prepared_free
CassDriver::~CassDriver() {
cass_prepared_free(insert_prepared_);
cass_prepared_free(select_prepared_);
cass_prepared_free(delete_prepared_);
CassFuture* close_future = cass_session_close(session_);
cass_future_wait(close_future);
cass_future_free(close_future);
cass_cluster_free(cluster_);
}
开发者ID:kongjialin,项目名称:cassandra-with-cpp-driver,代码行数:9,代码来源:cass_driver.cpp
示例13: close_future
SingleSessionTest::~SingleSessionTest() {
if (session) {
CassFuturePtr close_future(cass_session_close(session));
cass_future_wait(close_future.get());
}
if (ssl) {
cass_ssl_free(ssl);
}
}
开发者ID:Ilceren,项目名称:cpp-driver,代码行数:9,代码来源:test_utils.cpp
示例14: wait_exit
void wait_exit() {
uv_mutex_lock(&mutex);
while (close_future == NULL) {
uv_cond_wait(&cond, &mutex);
}
uv_mutex_unlock(&mutex);
cass_future_wait(close_future);
cass_future_free(close_future);
}
开发者ID:Ilceren,项目名称:cpp-driver,代码行数:9,代码来源:callbacks.c
示例15: wait_exit
void wait_exit() {
uv_mutex_lock(&mutex);
while (exit_flag == 0) {
uv_cond_wait(&cond, &mutex);
}
uv_mutex_unlock(&mutex);
if (close_future) {
cass_future_wait(close_future);
cass_future_free(close_future);
}
}
开发者ID:Instagram,项目名称:cpp-driver,代码行数:11,代码来源:callbacks.c
示例16: cass_string_init
void CassDriver::PrepareQuery() {
CassError rc = CASS_OK;
CassString insert_query = cass_string_init("INSERT INTO receiver_table "
"(receiver_id, ts, msg_id, group_id, msg, sender_id) "
"VALUES (?, ?, ?, ?, ?, ?);");
CassFuture* insert_future = cass_session_prepare(session_, insert_query);
cass_future_wait(insert_future);
rc = cass_future_error_code(insert_future);
if (rc != CASS_OK) {
PrintError(insert_future);
} else {
insert_prepared_ = cass_future_get_prepared(insert_future);
}
cass_future_free(insert_future);
rc = CASS_OK;
CassString select_query = cass_string_init("SELECT * FROM receiver_table "
"WHERE receiver_id = ?");
CassFuture* select_future = cass_session_prepare(session_, select_query);
cass_future_wait(select_future);
rc = cass_future_error_code(select_future);
if (rc != CASS_OK) {
PrintError(select_future);
} else {
select_prepared_ = cass_future_get_prepared(select_future);
}
cass_future_free(select_future);
rc = CASS_OK;
CassString delete_query = cass_string_init("DELETE FROM receiver_table "
"WHERE receiver_id = ?");
CassFuture* delete_future = cass_session_prepare(session_, delete_query);
cass_future_wait(delete_future);
rc = cass_future_error_code(delete_future);
if (rc != CASS_OK) {
PrintError(delete_future);
} else {
delete_prepared_ = cass_future_get_prepared(delete_future);
}
cass_future_free(delete_future);
}
开发者ID:kongjialin,项目名称:cassandra-with-cpp-driver,代码行数:41,代码来源:cass_driver.cpp
示例17: cass_session_prepare
CassError DbCassandra::PrepareQuery( CassSession *session, const char *query, const CassPrepared **prepared ) const
{
CassFuture *future = cass_session_prepare( session, query );
cass_future_wait( future );
CassError err = cass_future_error_code( future );
if ( err == CASS_OK )
*prepared = cass_future_get_prepared( future );
cass_future_free( future );
return err;
}
开发者ID:abudnik,项目名称:prun-cassandra,代码行数:12,代码来源:dbcass.cpp
示例18: main
int main(int argc, char* argv[]) {
CassCluster* cluster = NULL;
CassSession* session = cass_session_new();
CassFuture* close_future = NULL;
Basic input = { cass_true, 0.001f, 0.0002, 1, 2 };
Basic output;
const CassPrepared* prepared = NULL;
char* hosts = "127.0.0.1";
if (argc > 1) {
hosts = argv[1];
}
cluster = create_cluster(hosts);
if (connect_session(session, cluster) != CASS_OK) {
cass_cluster_free(cluster);
cass_session_free(session);
return -1;
}
execute_query(session,
"CREATE KEYSPACE examples WITH replication = { \
'class': 'SimpleStrategy', 'replication_factor': '3' };");
execute_query(session,
"CREATE TABLE examples.basic (key text, \
bln boolean, \
flt float, dbl double,\
i32 int, i64 bigint, \
PRIMARY KEY (key));");
insert_into_basic(session, "prepared_test", &input);
if (prepare_select_from_basic(session, &prepared) == CASS_OK) {
select_from_basic(session, prepared, "prepared_test", &output);
assert(input.bln == output.bln);
assert(input.flt == output.flt);
assert(input.dbl == output.dbl);
assert(input.i32 == output.i32);
assert(input.i64 == output.i64);
cass_prepared_free(prepared);
}
close_future = cass_session_close(session);
cass_future_wait(close_future);
cass_future_free(close_future);
cass_cluster_free(cluster);
cass_session_free(session);
return 0;
}
开发者ID:NeelamAggarwal,项目名称:cpp-driver,代码行数:53,代码来源:prepared.c
示例19: execute_insert
bool execute_insert(CassStatement* statement) {
test_utils::CassFuturePtr future(cass_session_execute(session, statement));
cass_future_wait(future.get());
CassError code = cass_future_error_code(future.get());
if (code != CASS_OK && code != CASS_ERROR_LIB_REQUEST_TIMED_OUT) { // Timeout is okay
CassString message;
cass_future_error_message(future.get(), &message.data, &message.length);
fprintf(stderr, "Error occurred during insert '%.*s'\n", static_cast<int>(message.length), message.data);
return false;
}
return true;
}
开发者ID:mody,项目名称:cpp-driver,代码行数:13,代码来源:test_stress.cpp
示例20: connect_session
CassError connect_session(CassSession* session, const CassCluster* cluster) {
CassError rc = CASS_OK;
CassFuture* future = cass_session_connect(session, cluster);
cass_future_wait(future);
rc = cass_future_error_code(future);
if (rc != CASS_OK) {
print_error(future);
}
cass_future_free(future);
return rc;
}
开发者ID:Ilceren,项目名称:cpp-driver,代码行数:13,代码来源:basic.c
注:本文中的cass_future_wait函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论