struct cassandra_sql_prepared_statement {
struct sql_prepared_statement prep_stmt;
- char *query_template;
/* NULL, until the prepare is asynchronously finished */
const CassPrepared *prepared;
/* clear the current error in case we're retrying */
i_free_and_null(prep_stmt->error);
- future = cass_session_prepare(db->session, prep_stmt->query_template);
+ future = cass_session_prepare(db->session, prep_stmt->prep_stmt.query_template);
driver_cassandra_set_callback(future, db, prepare_callback, prep_stmt);
}
struct cassandra_sql_prepared_statement *prep_stmt =
i_new(struct cassandra_sql_prepared_statement, 1);
prep_stmt->prep_stmt.db = db;
- prep_stmt->query_template = i_strdup(query_template);
+ prep_stmt->prep_stmt.query_template = i_strdup(query_template);
i_array_init(&prep_stmt->pending_statements, 4);
prepare_start(prep_stmt);
return &prep_stmt->prep_stmt;
if (prep_stmt->prepared != NULL)
cass_prepared_free(prep_stmt->prepared);
array_free(&prep_stmt->pending_statements);
- i_free(prep_stmt->query_template);
i_free(prep_stmt->error);
+ i_free(prep_stmt->prep_stmt.query_template);
i_free(prep_stmt);
}
stmt->stmt.pool = pool;
stmt->stmt.query_template =
- p_strdup(stmt->stmt.pool, prep_stmt->query_template);
+ p_strdup(stmt->stmt.pool, prep_stmt->prep_stmt.query_template);
stmt->prep = prep_stmt;
if (prep_stmt->prepared != NULL) {
#include <time.h>
-struct default_sql_prepared_statement {
- struct sql_prepared_statement prep_stmt;
- char *query_template;
-};
-
struct event_category event_category_sql = {
.name = "sql",
};
default_sql_prepared_statement_init(struct sql_db *db,
const char *query_template)
{
- struct default_sql_prepared_statement *prep_stmt;
+ struct sql_prepared_statement *prep_stmt;
- prep_stmt = i_new(struct default_sql_prepared_statement, 1);
- prep_stmt->prep_stmt.db = db;
+ prep_stmt = i_new(struct sql_prepared_statement, 1);
+ prep_stmt->db = db;
prep_stmt->query_template = i_strdup(query_template);
- return &prep_stmt->prep_stmt;
+ return prep_stmt;
}
static void
-default_sql_prepared_statement_deinit(struct sql_prepared_statement *_prep_stmt)
+default_sql_prepared_statement_deinit(struct sql_prepared_statement *prep_stmt)
{
- struct default_sql_prepared_statement *prep_stmt =
- (struct default_sql_prepared_statement *)_prep_stmt;
-
i_free(prep_stmt->query_template);
i_free(prep_stmt);
}
static struct sql_statement *
-default_sql_statement_init_prepared(struct sql_prepared_statement *_stmt)
+default_sql_statement_init_prepared(struct sql_prepared_statement *stmt)
{
- struct default_sql_prepared_statement *stmt =
- (struct default_sql_prepared_statement *)_stmt;
- return sql_statement_init(_stmt->db, stmt->query_template);
+ return sql_statement_init(stmt->db, stmt->query_template);
}
const char *sql_statement_get_query(struct sql_statement *stmt)