mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-25 04:18:08 +01:00
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).
This commit is contained in:
parent
777cd23d9d
commit
4b418343f6
2 changed files with 18 additions and 7 deletions
|
@ -1201,14 +1201,16 @@ notmuch_database_remove_message (notmuch_database_t *notmuch,
|
||||||
strncmp ((*j).c_str (), prefix, strlen (prefix)))
|
strncmp ((*j).c_str (), prefix, strlen (prefix)))
|
||||||
{
|
{
|
||||||
db->delete_document (document.get_docid ());
|
db->delete_document (document.get_docid ());
|
||||||
|
status = NOTMUCH_STATUS_SUCCESS;
|
||||||
} else {
|
} else {
|
||||||
db->replace_document (document.get_docid (), document);
|
db->replace_document (document.get_docid (), document);
|
||||||
|
status = NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
talloc_free (local);
|
talloc_free (local);
|
||||||
|
|
||||||
return NOTMUCH_STATUS_SUCCESS;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
notmuch_tags_t *
|
notmuch_tags_t *
|
||||||
|
|
|
@ -237,12 +237,21 @@ notmuch_database_add_message (notmuch_database_t *database,
|
||||||
|
|
||||||
/* Remove a message from the given notmuch database.
|
/* Remove a message from the given notmuch database.
|
||||||
*
|
*
|
||||||
* Note that the only this particular filename association is removed
|
* Note that only this particular filename association is removed from
|
||||||
* from the database. If the same message (as determined by the
|
* the database. If the same message (as determined by the message ID)
|
||||||
* message ID) is still available via other filenames, then the
|
* is still available via other filenames, then the message will
|
||||||
* message will persist in the database for those filenames. When the
|
* persist in the database for those filenames. When the last filename
|
||||||
* last filename is removed for a particular message, the database
|
* is removed for a particular message, the database content for that
|
||||||
* content for that message will be entirely removed.
|
* 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_status_t
|
||||||
notmuch_database_remove_message (notmuch_database_t *database,
|
notmuch_database_remove_message (notmuch_database_t *database,
|
||||||
|
|
Loading…
Reference in a new issue