From: Timo Sirainen Date: Thu, 9 Nov 2023 09:59:17 +0000 (+0200) Subject: cassandra: Split off cassandra_statement_send_query() X-Git-Tag: 2.4.0~2454 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ab1709ee89092f48c3e357d966184981d99b74df;p=thirdparty%2Fdovecot%2Fcore.git cassandra: Split off cassandra_statement_send_query() --- diff --git a/src/lib-sql/driver-cassandra.c b/src/lib-sql/driver-cassandra.c index 47a492adff..b4d9ee7f41 100644 --- a/src/lib-sql/driver-cassandra.c +++ b/src/lib-sql/driver-cassandra.c @@ -2071,6 +2071,18 @@ transaction_commit_callback(struct sql_result *result, void *context) driver_cassandra_transaction_unref(&ctx); } +static void +cassandra_statement_send_query(struct cassandra_sql_statement **_stmt) +{ + struct cassandra_sql_statement *stmt = *_stmt; + + *_stmt = NULL; + stmt->result->statement = stmt->cass_stmt; + stmt->result->timestamp = stmt->timestamp; + (void)driver_cassandra_send_query(stmt->result); + pool_unref(&stmt->stmt.pool); +} + static void driver_cassandra_transaction_commit(struct sql_transaction_context *_ctx, sql_commit_callback_t *callback, void *context) @@ -2126,10 +2138,7 @@ driver_cassandra_transaction_commit(struct sql_transaction_context *_ctx, if (ctx->stmt->cass_stmt == NULL) { /* wait for prepare to finish */ } else { - ctx->stmt->result->statement = ctx->stmt->cass_stmt; - ctx->stmt->result->timestamp = ctx->stmt->timestamp; - (void)driver_cassandra_send_query(ctx->stmt->result); - pool_unref(&ctx->stmt->stmt.pool); + cassandra_statement_send_query(&ctx->stmt); } } } @@ -2320,12 +2329,8 @@ static void prepare_finish_statement(struct cassandra_sql_statement *stmt) array_foreach(&stmt->pending_args, arg) prepare_finish_arg(stmt, arg); } - if (stmt->result != NULL) { - stmt->result->statement = stmt->cass_stmt; - stmt->result->timestamp = stmt->timestamp; - (void)driver_cassandra_send_query(stmt->result); - pool_unref(&stmt->stmt.pool); - } + if (stmt->result != NULL) + cassandra_statement_send_query(&stmt); } static void