From 7e897a21ca5fa417b63abce023e775d55d3b6641 Mon Sep 17 00:00:00 2001 From: "Damien F. Katz" Date: Thu, 29 May 2008 20:51:14 +0000 Subject: Grouped reduce support. Needs performance work. git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@661476 13f79535-47bb-0310-9956-ffa450edef68 --- share/www/script/couch.js | 1 + share/www/script/couch_tests.js | 94 ++++++++++++++++++++++++++++++----------- 2 files changed, 71 insertions(+), 24 deletions(-) (limited to 'share') diff --git a/share/www/script/couch.js b/share/www/script/couch.js index 947a5137..5fe43fb5 100644 --- a/share/www/script/couch.js +++ b/share/www/script/couch.js @@ -88,6 +88,7 @@ function CouchDB(name) { if (req.status != 201) throw result; for(var i in docs) { + docs[i]._id = result.new_revs[i].id; docs[i]._rev = result.new_revs[i].rev; } return result; diff --git a/share/www/script/couch_tests.js b/share/www/script/couch_tests.js index d500a390..4d626ca0 100644 --- a/share/www/script/couch_tests.js +++ b/share/www/script/couch_tests.js @@ -96,9 +96,9 @@ var tests = { return sum(values); }; - result = db.query(mapFunction, reduceFunction); + results = db.query(mapFunction, reduceFunction); - T(result.result == 33); + T(results.rows[0].value == 33); // delete a document T(db.deleteDoc(existingDoc).ok); @@ -242,21 +242,67 @@ var tests = { var map = function (doc) {emit(doc.integer, doc.integer)}; var reduce = function (keys, values) { return sum(values); }; - var result = db.query(map, reduce).result; - T(result == summate(numDocs)); + var result = db.query(map, reduce); + T(result.rows[0].value == summate(numDocs)); - result = db.query(map, reduce, {startkey: 4, endkey: 4}).result; - T(result == 4); + result = db.query(map, reduce, {startkey: 4, endkey: 4}); + T(result.rows[0].value == 4); - result = db.query(map, reduce, {startkey: 4, endkey: 5}).result; - T(result == 9); + result = db.query(map, reduce, {startkey: 4, endkey: 5}); + T(result.rows[0].value == 9); - result = db.query(map, reduce, {startkey: 4, endkey: 6}).result; - T(result == 15); + result = db.query(map, reduce, {startkey: 4, endkey: 6}); + T(result.rows[0].value == 15); for(var i=1; i