You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Benoit Chesneau <bc...@gmail.com> on 2008/06/21 01:09:20 UTC

bug in grouped reduce ?

Hi all,

I have someting weird with  grouped reduce :

I get value [row1, row2, ..., rown ]  which is correct, but from time
to time I get :
[ [row1, row2, ..., rown ]] . any idee why ? Is this a bug in my
function or in couchdb ?

The reduce function is :

function (key, values) {
  var idx_comments = {};
  var comments = [];
  for (var i=0; i<values.length; i++) {
    if (values[i]) {
        idx_comments[values[i]['_id']] = values[i];
        if (!values[i]['parent'])
              comments.push(values[i]);
    }
  }

   function iter_comments(lcomments) {
     for (var i=0; i<lcomments.length; i++) {
       var comment = lcomments[i] || [];
       var thread=[];
       if (comment['children'] && comment['children'].length > 0) {
         for (var j=0; j<comment['children'].length; j++) {
            thread.push(idx_comments[comment['children'][j]]);
         }
         if (thread && thread.length >0) {
           comment['thread'] = iter_comments(thread);
         } else {
           comment['thread'] = null;
         }
        }

        lcomments[i] = comment;

      }
      return lcomments;
    }
    tmp = iter_comments(comments);
    return tmp;
}


regards,

- benoƮt