From 3e0af237c62817f9fd029e712e5a23c8ac206a60 Mon Sep 17 00:00:00 2001 From: Aaron Miller Date: Tue, 30 Oct 2012 13:50:21 -0700 Subject: [PATCH] assert no duplicates in save_docs Change-Id: Iea92aeda9214f063caadddb5b8245b04b75f6001 --- src/couch_save.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/couch_save.c b/src/couch_save.c index 477c9f6..3cd4c39 100644 --- a/src/couch_save.c +++ b/src/couch_save.c @@ -3,6 +3,7 @@ #include #include #include +#include #include "internal.h" #include "bitfield.h" @@ -175,6 +176,16 @@ static couchstore_error_t update_indexes(Db *db, // Assemble idacts[] array, in sorted order by id: for (ii = 0; ii < numdocs; ii++) { ptrdiff_t isorted = sorted_ids[ii] - ids; // recover index of ii'th id in sort order + //vv DEBUG - Are duplicates in this batch? + if(ii > 0) { + ptrdiff_t isorted_prev = sorted_ids[ii - 1] - ids; + sized_buf* id_prev = &ids[isorted_prev]; + sized_buf* id_cur = &ids[isorted]; + if(id_prev->size == id_cur->size) { + assert(memcmp(id_prev->buf, id_cur->buf, id_cur->size)); + } + } + //^^ DEBUG - Are duplicates in this batch? idacts[ii * 2].type = ACTION_FETCH; idacts[ii * 2].value.arg = &fetcharg; -- 1.8.0