db = static_cast<Xapian::WritableDatabase *> (notmuch->xapian_db);
try {
- doc.add_term (term);
+ doc.add_term (term, 0);
talloc_free (term);
doc.add_value (NOTMUCH_VALUE_MESSAGE_ID, message_id);
return NOTMUCH_STATUS_SUCCESS;
}
+char *
+_notmuch_message_talloc_copy_data (notmuch_message_t *message)
+{
+ return talloc_strdup (message, message->doc.get_data ().c_str ());
+}
+
+void
+_notmuch_message_clear_data (notmuch_message_t *message)
+{
+ message->doc.set_data ("");
+}
+
const char *
notmuch_message_get_filename (notmuch_message_t *message)
{
{
/* A message document created by an old version of notmuch
* (prior to rename support) will have the filename in the
- * data of the document rather than as a file-direntry term. */
+ * data of the document rather than as a file-direntry term.
+ *
+ * It would be nice to do the upgrade of the document directly
+ * here, but the database is likely open in read-only mode. */
const char *data;
data = message->doc.get_data ().c_str ();
if (strlen (term) > NOTMUCH_TERM_MAX)
return NOTMUCH_PRIVATE_STATUS_TERM_TOO_LONG;
- message->doc.add_term (term);
+ message->doc.add_term (term, 0);
talloc_free (term);