Future::Ptr Session::prepare(const char* statement, size_t length) { PrepareRequest::Ptr prepare(new PrepareRequest(std::string(statement, length))); ResponseFuture::Ptr future(new ResponseFuture(metadata_.schema_snapshot(protocol_version(), cassandra_version()))); future->prepare_request = PrepareRequest::ConstPtr(prepare); execute(RequestHandler::Ptr(new RequestHandler(prepare, future, this))); return future; }
static void create_msg(struct tac_handle *h, int msg_type, int var, int type) { struct tac_msg *msg; int i; h->last_seq_no = 0; msg = &h->request; msg->type = msg_type; msg->version = protocol_version(msg_type, var, type); msg->flags = 0; /* encrypted packet body */ free_str(&h->user); free_str(&h->port); free_str(&h->rem_addr); free_str(&h->data); free_str(&h->user_msg); for (i=0; i<MAXAVPAIRS; i++) free_str(&(h->avs[i])); }
Future::Ptr Session::prepare(const Statement* statement) { std::string query; if (statement->opcode() == CQL_OPCODE_QUERY) { // Simple statement query = statement->query(); } else { // Bound statement query = static_cast<const ExecuteRequest*>(statement)->prepared()->query(); } PrepareRequest::Ptr prepare(new PrepareRequest(query)); // Inherit the settings of the existing statement. These will in turn be // inherited by bound statements. prepare->set_settings(statement->settings()); ResponseFuture::Ptr future(new ResponseFuture(metadata_.schema_snapshot(protocol_version(), cassandra_version()))); future->prepare_request = PrepareRequest::ConstPtr(prepare); execute(RequestHandler::Ptr(new RequestHandler(prepare, future, this))); return future; }