diff options
author | Filipe David Borba Manana <fdmanana@apache.org> | 2010-10-25 18:28:14 +0000 |
---|---|---|
committer | Filipe David Borba Manana <fdmanana@apache.org> | 2010-10-25 18:28:14 +0000 |
commit | 51741863f99edb5bd21e9991aff5d4d718ba4b50 (patch) | |
tree | cf09675839e4ea32094e09b91885abdd48c37b43 | |
parent | 762e1178afb249b46a3a7a818b44f8be1c4170bd (diff) |
Merged revision 1027215 from trunk:
GET /db/_design/doc/_info should not trigger an update.
Closes COUCHDB-858.
Patch by Klaus Trainer. Thanks Klaus.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.0.x@1027228 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | share/www/script/test/design_docs.js | 32 | ||||
-rw-r--r-- | src/couchdb/couch_view_group.erl | 5 |
2 files changed, 27 insertions, 10 deletions
diff --git a/share/www/script/test/design_docs.js b/share/www/script/test/design_docs.js index 8864225c..a24167b2 100644 --- a/share/www/script/test/design_docs.js +++ b/share/www/script/test/design_docs.js @@ -93,15 +93,37 @@ function() { T(xhr.status == 200); TEquals("javascript", JSON.parse(xhr.responseText).language); + var prev_view_sig = db.designInfo("_design/test").view_index.signature; + + db.bulkSave(makeDocs(1, numDocs + 1)); + // test that we get design doc info back var dinfo = db.designInfo("_design/test"); TEquals("test", dinfo.name); var vinfo = dinfo.view_index; TEquals(51, vinfo.disk_size); TEquals(false, vinfo.compact_running); - TEquals("3f88e53b303e2342e49a66c538c30679", vinfo.signature); + // test that GET /db/_design/test/_info + // hasn't triggered an update of the views + TEquals(prev_view_sig, vinfo.signature, 'ddoc sig'); + for (var loop = 0; loop < 2; loop++) { + T(db.view("test/all_docs_twice", {stale: "ok"}).total_rows === 0); + T(db.view("test/single_doc", {stale: "ok"}).total_rows === 0); + T(db.view("test/summate", {stale: "ok"}).rows.length === 0); + T(db.ensureFullCommit().ok); + restartServer(); + }; - db.bulkSave(makeDocs(1, numDocs + 1)); + // test that POST /db/_view_cleanup + // doesn't trigger an update of the views + T(db.viewCleanup().ok); + for (var loop = 0; loop < 2; loop++) { + T(db.view("test/all_docs_twice", {stale: "ok"}).total_rows == 0); + T(db.view("test/single_doc", {stale: "ok"}).total_rows == 0); + T(db.view("test/summate", {stale: "ok"}).rows.length == 0); + T(db.ensureFullCommit().ok); + restartServer(); + }; // test that the _all_docs view returns correctly with keys var results = db.allDocs({startkey:"_design", endkey:"_design0"}); @@ -112,9 +134,9 @@ function() { for (var i = 0; i < numDocs; i++) { T(rows[2*i].key == i+1); T(rows[(2*i)+1].key == i+1); - } - T(db.view("test/no_docs").total_rows == 0) - T(db.view("test/single_doc").total_rows == 1) + }; + T(db.view("test/no_docs").total_rows == 0); + T(db.view("test/single_doc").total_rows == 1); T(db.ensureFullCommit().ok); restartServer(); }; diff --git a/src/couchdb/couch_view_group.erl b/src/couchdb/couch_view_group.erl index 78810dc9..1a8103a1 100644 --- a/src/couchdb/couch_view_group.erl +++ b/src/couchdb/couch_view_group.erl @@ -85,15 +85,10 @@ init({InitArgs, ReturnPid, Ref}) -> ignore; _ -> couch_db:monitor(Db), - Owner = self(), - Pid = spawn_link( - fun()-> couch_view_updater:update(Owner, Group) end - ), {ok, RefCounter} = couch_ref_counter:start([Fd]), {ok, #group_state{ db_name=couch_db:name(Db), init_args=InitArgs, - updater_pid = Pid, group=Group, ref_counter=RefCounter}} end; |