]> git.notmuchmail.org Git - notmuch/commitdiff
database/close: remove misleading code / comment
authorDavid Bremner <david@tethera.net>
Tue, 18 May 2021 11:03:22 +0000 (08:03 -0300)
committerDavid Bremner <david@tethera.net>
Sun, 27 Jun 2021 16:58:17 +0000 (13:58 -0300)
Unfortunately, it doesn't make a difference if we call
cancel_transaction or not, all uncommited changes are discarded if
there is an open (unflushed) transaction.

lib/database.cc

index 6db82373dddecb09df66521dd3f69c3cdd1d6fd3..aed053884108fdcf3ce30d94edc78fc77249c92a 100644 (file)
@@ -502,17 +502,9 @@ notmuch_database_close (notmuch_database_t *notmuch)
      * close it.  Thus, we explicitly close it here. */
     if (notmuch->open) {
        try {
-           /* If there's an outstanding transaction, it's unclear if
-            * closing the Xapian database commits everything up to
-            * that transaction, or may discard committed (but
-            * unflushed) transactions.  To be certain, explicitly
-            * cancel any outstanding transaction before closing. */
-           if (_notmuch_database_mode (notmuch) == NOTMUCH_DATABASE_MODE_READ_WRITE &&
-               notmuch->atomic_nesting)
-               notmuch->writable_xapian_db->cancel_transaction ();
-
            /* Close the database.  This implicitly flushes
-            * outstanding changes. */
+            * outstanding changes. If there is an open (non-flushed)
+            * transaction, ALL pending changes will be discarded */
            notmuch->xapian_db->close ();
        } catch (const Xapian::Error &error) {
            status = NOTMUCH_STATUS_XAPIAN_EXCEPTION;