[][src]Type Definition melib::backends::notmuch::bindings::notmuch_database_create

type notmuch_database_create = unsafe extern "C" fn(path: *const c_char, database: *mut *mut notmuch_database_t) -> notmuch_status_t;

Create a new, empty notmuch database located at 'path'.

The path should be a top-level directory to a collection of plain-text email messages (one message per file). This call will create a new ".notmuch" directory within 'path' where notmuch will store its data.

After a successful call to notmuch_database_create, the returned database will be open so the caller should call notmuch_database_destroy when finished with it.

The database will not yet have any data in it (notmuch_database_create itself is a very cheap function). Messages contained within 'path' can be added to the database by calling notmuch_database_index_file.

In case of any failure, this function returns an error status and sets *database to NULL (after printing an error message on stderr).

Return value:

NOTMUCH_STATUS_SUCCESS: Successfully created the database.

NOTMUCH_STATUS_NULL_POINTER: The given 'path' argument is NULL.

NOTMUCH_STATUS_OUT_OF_MEMORY: Out of memory.

NOTMUCH_STATUS_FILE_ERROR: An error occurred trying to create the database file (such as permission denied, or file not found, etc.), or the database already exists.

NOTMUCH_STATUS_XAPIAN_EXCEPTION: A Xapian exception occurred.