From 4b5e0a20aa087dd26df644c0432627aa3e5826d4 Mon Sep 17 00:00:00 2001 From: "Damien F. Katz" Date: Wed, 6 May 2009 19:11:10 +0000 Subject: First cut at _changes api. Update the by_id and by_seq indexes to contain update seq numbers and pointers to bodies on disk, for use in the _changes api. This is a new file version, but the code can continue to serve the old 0.9 version without problems, though certain features in the _changes api will not be able to work. Upgrade to new file version (from 1 to 2) by compacting the file. Also fixed bugs with how the stats api tracks open databases. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@772406 13f79535-47bb-0310-9956-ffa450edef68 --- share/www/script/test/changes.js | 38 ++++++++++++++++++++++++++++++++++++ share/www/script/test/replication.js | 2 +- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 share/www/script/test/changes.js (limited to 'share/www/script/test') diff --git a/share/www/script/test/changes.js b/share/www/script/test/changes.js new file mode 100644 index 00000000..fef2bcca --- /dev/null +++ b/share/www/script/test/changes.js @@ -0,0 +1,38 @@ +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy +// of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. + +couchTests.changes = function(debug) { + var db = new CouchDB("test_suite_db"); + db.deleteDb(); + db.createDb(); + if (debug) debugger; + + + var req = CouchDB.newXhr(); + + req.open("GET", "/test_suite_db/_changes", false); + req.send(""); + var resp = JSON.parse(req.responseText); + + T(resp.results.length == 0 && resp.last_seq==0) + + var doc = {_id:"foo", bar:1}; + db.save(doc); + + req.open("GET", "/test_suite_db/_changes", false); + req.send(""); + var resp = JSON.parse(req.responseText); + + T(resp.results.length == 1 && resp.last_seq==1) + T(resp.results[0].changes[0].rev == doc._rev) + +}; diff --git a/share/www/script/test/replication.js b/share/www/script/test/replication.js index d76d2fd8..405b0b1d 100644 --- a/share/www/script/test/replication.js +++ b/share/www/script/test/replication.js @@ -189,7 +189,7 @@ couchTests.replication = function(debug) { dbB.save({_id:"foo",value:"b"}); }; - this.afterBA1 = function(dbA, dbB) { + this.afterBA1 = function(dbA, dbB) { var docA = dbA.open("foo", {conflicts: true}); var docB = dbB.open("foo", {conflicts: true}); -- cgit v1.2.3