diff options
Diffstat (limited to 'mail/dbmail/files/patch-0026-Rebalance-commit-rollback')
-rw-r--r-- | mail/dbmail/files/patch-0026-Rebalance-commit-rollback | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/mail/dbmail/files/patch-0026-Rebalance-commit-rollback b/mail/dbmail/files/patch-0026-Rebalance-commit-rollback new file mode 100644 index 000000000000..7e414d75e9ca --- /dev/null +++ b/mail/dbmail/files/patch-0026-Rebalance-commit-rollback @@ -0,0 +1,71 @@ +From 1a09a645c82e07fee8d42642a83652c6c85473ff Mon Sep 17 00:00:00 2001 +From: Alan Hicks <ahicks@p-o.co.uk> +Date: Mon, 31 Oct 2016 18:27:45 +0000 +Subject: [PATCH 26/33] Rebalance commit/rollback + +--- + src/dm_mailboxstate.c | 9 ++++++--- + src/imapcommands.c | 1 + + 2 files changed, 7 insertions(+), 3 deletions(-) + +diff --git src/dm_mailboxstate.c src/dm_mailboxstate.c +index 723689a..c04b6d7 100644 +--- src/dm_mailboxstate.c ++++ src/dm_mailboxstate.c +@@ -212,11 +212,12 @@ T MailboxState_new(Mempool_T pool, uint64_t id) + db_begin_transaction(c); // we need read-committed isolation + state_load_metadata(M, c); + state_load_messages(M, c); ++ db_commit_transaction(c); + CATCH(SQLException) + LOG_SQLERROR; ++ db_rollback_transaction(c); + t = DM_EQUERY; + FINALLY +- db_commit_transaction(c); + db_con_close(c); + END_TRY; + +@@ -888,11 +889,12 @@ int MailboxState_info(T M) + TRY + db_begin_transaction(c); + db_getmailbox_info(M, c); ++ db_commit_transaction(c); + CATCH(SQLException) + LOG_SQLERROR; ++ db_rollback_transaction(c); + t = DM_EQUERY; + FINALLY +- db_commit_transaction(c); + db_con_close(c); + END_TRY; + +@@ -928,11 +930,12 @@ int MailboxState_count(T M) + TRY + db_begin_transaction(c); + db_getmailbox_count(M, c); ++ db_commit_transaction(c); + CATCH(SQLException) + LOG_SQLERROR; ++ db_rollback_transaction(c); + t = DM_EQUERY; + FINALLY +- db_commit_transaction(c); + db_con_close(c); + END_TRY; + +diff --git src/imapcommands.c src/imapcommands.c +index bdedb4a..43760fc 100644 +--- src/imapcommands.c ++++ src/imapcommands.c +@@ -946,6 +946,7 @@ void _ic_delete_enter(dm_thread_data *D) + db_commit_transaction(c); + CATCH(SQLException) + LOG_SQLERROR; ++ db_rollback_transaction(c); + t = DM_EQUERY; + FINALLY + db_con_close(c); +-- +2.10.1 (Apple Git-78) + |