changeset 21415:d749ca18af65

dict-sql: Fix flushing Remove flushing from set, and add it to unset. Fixes signal 11 crash caused by infinite recursion.
author Aki Tuomi <aki.tuomi@dovecot.fi>
date Mon, 16 Jan 2017 09:37:05 +0200
parents 355ebf12f384
children d99859db19de
files src/lib-dict/dict-sql.c
diffstat 1 files changed, 2 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-dict/dict-sql.c	Mon Jan 16 16:58:31 2017 +0200
+++ b/src/lib-dict/dict-sql.c	Mon Jan 16 09:37:05 2017 +0200
@@ -1071,11 +1071,6 @@
 		return;
 	}
 
-	if (ctx->prev_inc_map != NULL)
-		sql_dict_prev_inc_flush(ctx);
-	if (ctx->prev_set_map != NULL)
-		sql_dict_prev_set_flush(ctx);
-
 	T_BEGIN {
 		struct dict_sql_build_query build;
 		struct dict_sql_build_query_field field;
@@ -1112,6 +1107,8 @@
 
 	if (ctx->prev_inc_map != NULL)
 		sql_dict_prev_inc_flush(ctx);
+	if (ctx->prev_set_map != NULL)
+		sql_dict_prev_set_flush(ctx);
 
 	map = sql_dict_find_map(dict, key, &values);
 	if (map == NULL) {