summaryrefslogtreecommitdiff
path: root/mail/dbmail/files/patch-0026-Rebalance-commit-rollback
diff options
context:
space:
mode:
Diffstat (limited to 'mail/dbmail/files/patch-0026-Rebalance-commit-rollback')
-rw-r--r--mail/dbmail/files/patch-0026-Rebalance-commit-rollback71
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)
+