diff options
author | Carl Worth <cworth@cworth.org> | 2009-12-21 15:11:32 -0800 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2010-01-06 10:32:06 -0800 |
commit | d7e5f5827e21be7dd8993e5a877bdb73cdb64325 (patch) | |
tree | ef22b14cdc9b80994fd7cd909e4c3d22ed8c15b3 /lib | |
parent | 498edff50373785c9dcc889d0fb6bc9bfc13dfcb (diff) |
database: Make find_unique_doc_id enforce uniqueness (for a debug build)
Catching any violation of this unique-ness constraint is very much in
line with similar, existing INTERNAL_ERROR cases.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/database.cc | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/database.cc b/lib/database.cc index 3ed19772..5d300732 100644 --- a/lib/database.cc +++ b/lib/database.cc @@ -246,10 +246,19 @@ find_unique_doc_id (notmuch_database_t *notmuch, if (i == end) { *doc_id = 0; return NOTMUCH_PRIVATE_STATUS_NO_DOCUMENT_FOUND; - } else { - *doc_id = *i; - return NOTMUCH_PRIVATE_STATUS_SUCCESS; } + + *doc_id = *i; + +#if DEBUG_DATABASE_SANITY + i++; + + if (i != end) + INTERNAL_ERROR ("Term %s:%s is not unique as expected.\n", + prefix_name, value); +#endif + + return NOTMUCH_PRIVATE_STATUS_SUCCESS; } static Xapian::Document |