[PATCH 1/3] cli: add insert --must-index option
Tomi Ollila
tomi.ollila at iki.fi
Thu Oct 10 05:30:44 PDT 2013
On Thu, Oct 10 2013, David Bremner <david at tethera.net> wrote:
> Peter Wang <novalazy at gmail.com> writes:
>
>> On Tue, 10 Sep 2013 09:06:00 +0100, Mark Walters <markwalters1009 at gmail.com> wrote:
>>>
>>> Alternatively maybe add notmuch_database_destroy_with_flush or something
>>> which does give a return value. notmuch_database_close is only called 3
>>> times and notmuch_database_destroy lots of times so changing close is
>>> much less intrusive than changing destroy. But I don't know whether we
>>> would break any bindings or external programs etc.
>>>
>>> What do you think?
>>
>> I think notmuch_database_close and notmuch_database_destroy should
>> return the status, and we update the three language bindings
>> and bump the soname.
>>
>
> I'm not opposed to doing an SONAME bump for 0.17. Are there other ABI
> breaking changes that we have been holding back on? Can these maybe go
> through at the same time?
Maybe something along these lines...
(Quick draft for the API part; to start discussion before working too much
for something that is going to be dropped...)
diff --git a/lib/notmuch.h b/lib/notmuch.h
index 9dab555..ae52dab 100644
--- a/lib/notmuch.h
+++ b/lib/notmuch.h
@@ -106,6 +106,17 @@ typedef enum _notmuch_status {
NOTMUCH_STATUS_LAST_STATUS
} notmuch_status_t;
+/* Structure to provide logging interface to the notmuch library
+ *
+ * ...
+ */
+
+typedef struct _notmuch_loghook {
+ void (*func)(struct _notmuch_loghook *, int level, int status,
+ const char * format, ...);
+} notmuch_loghook_t;
+
+
/* Get a string representation of a notmuch_status_t value.
*
* The result is read-only.
@@ -159,7 +170,9 @@ typedef struct _notmuch_filenames notmuch_filenames_t;
* NOTMUCH_STATUS_XAPIAN_EXCEPTION: A Xapian exception occurred.
*/
notmuch_status_t
-notmuch_database_create (const char *path, notmuch_database_t **database);
+notmuch_database_create (const char *path,
+ notmuch_loghook_t *loghook,
+ notmuch_database_t **database);
typedef enum {
NOTMUCH_DATABASE_MODE_READ_ONLY = 0,
@@ -200,6 +213,7 @@ typedef enum {
notmuch_status_t
notmuch_database_open (const char *path,
notmuch_database_mode_t mode,
+ notmuch_loghook_t *loghook,
notmuch_database_t **database);
/* Close the given notmuch database.
>
> d
Tomi
More information about the notmuch
mailing list