]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
cassandra: Support returning SQL_RESULT_ERROR_TYPE_WRITE_UNCERTAIN
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 15 Jul 2016 21:40:31 +0000 (16:40 -0500)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Sun, 17 Jul 2016 18:22:14 +0000 (12:22 -0600)
src/lib-sql/driver-cassandra.c

index f7100c4f2955eae1437a1ff16d9a064aa1113c8a..ee61cd1303a0dffd1b28805c4d4536a52a7a2b22 100644 (file)
@@ -726,6 +726,9 @@ static void query_callback(CassFuture *future, void *context)
                i_free(result->error);
 
                msecs = timeval_diff_msecs(&ioloop_timeval, &result->start_time);
+               result->api.error_type = error == CASS_ERROR_SERVER_WRITE_TIMEOUT ?
+                       SQL_RESULT_ERROR_TYPE_WRITE_UNCERTAIN :
+                       SQL_RESULT_ERROR_TYPE_UNKNOWN;
                result->error = i_strdup_printf("Query '%s' failed: %.*s (in %u.%03u secs)",
                        result->query, (int)errsize, errmsg, msecs/1000, msecs%1000);
                /* unavailable = cassandra server knows that there aren't