diff options
author | Carl Worth <cworth@cworth.org> | 2010-01-06 10:06:00 -0800 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2010-01-06 10:32:06 -0800 |
commit | 4b418343f656c2de5503d907d075019626561373 (patch) | |
tree | fb5d30faffaf7161211c163d08f288e7a8fa055f /lib | |
parent | 777cd23d9db64c8015fe880a106e84c3634bf19f (diff) |
lib: Indicate whether notmuch_database_remove_message removed anything.
Similar to the return value of notmuch_database_add_message, we now
enhance the return value of notmuch_database_remove_message to
indicate whether the message document was entirely removed (SUCCESS)
or whether only this filename was removed and the document exists
under other filenamed (DUPLICATE_MESSAGE_ID).
Diffstat (limited to 'lib')
-rw-r--r-- | lib/database.cc | 4 | ||||
-rw-r--r-- | lib/notmuch.h | 21 |
2 files changed, 18 insertions, 7 deletions
diff --git a/lib/database.cc b/lib/database.cc index 205d0360..dc967c8c 100644 --- a/lib/database.cc +++ b/lib/database.cc @@ -1201,14 +1201,16 @@ notmuch_database_remove_message (notmuch_database_t *notmuch, strncmp ((*j).c_str (), prefix, strlen (prefix))) { db->delete_document (document.get_docid ()); + status = NOTMUCH_STATUS_SUCCESS; } else { db->replace_document (document.get_docid (), document); + status = NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID; } } talloc_free (local); - return NOTMUCH_STATUS_SUCCESS; + return status; } notmuch_tags_t * diff --git a/lib/notmuch.h b/lib/notmuch.h index 52078e81..110061c2 100644 --- a/lib/notmuch.h +++ b/lib/notmuch.h @@ -237,12 +237,21 @@ notmuch_database_add_message (notmuch_database_t *database, /* Remove a message from the given notmuch database. * - * Note that the only this particular filename association is removed - * from the database. If the same message (as determined by the - * message ID) is still available via other filenames, then the - * message will persist in the database for those filenames. When the - * last filename is removed for a particular message, the database - * content for that message will be entirely removed. + * Note that only this particular filename association is removed from + * the database. If the same message (as determined by the message ID) + * is still available via other filenames, then the message will + * persist in the database for those filenames. When the last filename + * is removed for a particular message, the database content for that + * message will be entirely removed. + * + * Return value: + * + * NOTMUCH_STATUS_SUCCESS: The last filename was removed and the + * message was removed from the database. + * + * NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID: This filename was removed but + * the message persists in the database with at least one other + * filename. */ notmuch_status_t notmuch_database_remove_message (notmuch_database_t *database, |