summaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorFilipe David Borba Manana <fdmanana@apache.org>2010-11-19 12:19:38 +0000
committerFilipe David Borba Manana <fdmanana@apache.org>2010-11-19 12:19:38 +0000
commitaae8762c1560a110f11fa8f2524018f20504e40d (patch)
treecc42b94104e7c846f4c1c6672300daf0e8539684 /share
parent1074767a6b2a254fc6abcb08ec8ccc156e5aa6e9 (diff)
Add aliases start_key, end_key, start_key_docid and end_key_docid.
Closes COUCHDB-949. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1036813 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'share')
-rw-r--r--share/www/script/test/design_docs.js4
-rw-r--r--share/www/script/test/view_pagination.js103
2 files changed, 68 insertions, 39 deletions
diff --git a/share/www/script/test/design_docs.js b/share/www/script/test/design_docs.js
index 831321b8..f2f63841 100644
--- a/share/www/script/test/design_docs.js
+++ b/share/www/script/test/design_docs.js
@@ -286,6 +286,10 @@ couchTests.design_docs = function(debug) {
result = db.view("test/summate", {startkey: 4, endkey: 6});
T(result.rows[0].value == 15);
+ // test start_key and end_key aliases
+ result = db.view("test/summate", {start_key: 4, end_key: 6});
+ T(result.rows[0].value == 15);
+
// Verify that a shared index (view def is an exact copy of "summate")
// does not confuse the reduce stage
result = db.view("test/summate2", {startkey: 4, endkey: 6});
diff --git a/share/www/script/test/view_pagination.js b/share/www/script/test/view_pagination.js
index 96c23c5a..4f9cfe2c 100644
--- a/share/www/script/test/view_pagination.js
+++ b/share/www/script/test/view_pagination.js
@@ -36,6 +36,19 @@ couchTests.view_pagination = function(debug) {
for (j = 0; j < 10;j++) {
T(queryResults.rows[j].key == i + j);
}
+
+ // test aliases start_key and start_key_docid
+ queryResults = db.query(queryFun, null, {
+ start_key: i,
+ start_key_docid: i,
+ limit: 10
+ });
+ T(queryResults.rows.length == 10);
+ T(queryResults.total_rows == docs.length);
+ T(queryResults.offset == i);
+ for (j = 0; j < 10;j++) {
+ T(queryResults.rows[j].key == i + j);
+ }
}
// page through the view descending
@@ -72,51 +85,63 @@ couchTests.view_pagination = function(debug) {
}
}
+ function testEndkeyDocId(queryResults) {
+ T(queryResults.rows.length == 35);
+ T(queryResults.total_rows == docs.length);
+ T(queryResults.offset == 1);
+ T(queryResults.rows[0].id == "1");
+ T(queryResults.rows[1].id == "10");
+ T(queryResults.rows[2].id == "11");
+ T(queryResults.rows[3].id == "12");
+ T(queryResults.rows[4].id == "13");
+ T(queryResults.rows[5].id == "14");
+ T(queryResults.rows[6].id == "15");
+ T(queryResults.rows[7].id == "16");
+ T(queryResults.rows[8].id == "17");
+ T(queryResults.rows[9].id == "18");
+ T(queryResults.rows[10].id == "19");
+ T(queryResults.rows[11].id == "2");
+ T(queryResults.rows[12].id == "20");
+ T(queryResults.rows[13].id == "21");
+ T(queryResults.rows[14].id == "22");
+ T(queryResults.rows[15].id == "23");
+ T(queryResults.rows[16].id == "24");
+ T(queryResults.rows[17].id == "25");
+ T(queryResults.rows[18].id == "26");
+ T(queryResults.rows[19].id == "27");
+ T(queryResults.rows[20].id == "28");
+ T(queryResults.rows[21].id == "29");
+ T(queryResults.rows[22].id == "3");
+ T(queryResults.rows[23].id == "30");
+ T(queryResults.rows[24].id == "31");
+ T(queryResults.rows[25].id == "32");
+ T(queryResults.rows[26].id == "33");
+ T(queryResults.rows[27].id == "34");
+ T(queryResults.rows[28].id == "35");
+ T(queryResults.rows[29].id == "36");
+ T(queryResults.rows[30].id == "37");
+ T(queryResults.rows[31].id == "38");
+ T(queryResults.rows[32].id == "39");
+ T(queryResults.rows[33].id == "4");
+ T(queryResults.rows[34].id == "40");
+ }
+
// test endkey_docid
- var queryResults = db.query(function(doc) { emit(null, null);}, null, {
+ var queryResults = db.query(function(doc) { emit(null, null); }, null, {
startkey: null,
startkey_docid: 1,
endkey: null,
endkey_docid: 40
});
+ testEndkeyDocId(queryResults);
- T(queryResults.rows.length == 35);
- T(queryResults.total_rows == docs.length);
- T(queryResults.offset == 1);
- T(queryResults.rows[0].id == "1");
- T(queryResults.rows[1].id == "10");
- T(queryResults.rows[2].id == "11");
- T(queryResults.rows[3].id == "12");
- T(queryResults.rows[4].id == "13");
- T(queryResults.rows[5].id == "14");
- T(queryResults.rows[6].id == "15");
- T(queryResults.rows[7].id == "16");
- T(queryResults.rows[8].id == "17");
- T(queryResults.rows[9].id == "18");
- T(queryResults.rows[10].id == "19");
- T(queryResults.rows[11].id == "2");
- T(queryResults.rows[12].id == "20");
- T(queryResults.rows[13].id == "21");
- T(queryResults.rows[14].id == "22");
- T(queryResults.rows[15].id == "23");
- T(queryResults.rows[16].id == "24");
- T(queryResults.rows[17].id == "25");
- T(queryResults.rows[18].id == "26");
- T(queryResults.rows[19].id == "27");
- T(queryResults.rows[20].id == "28");
- T(queryResults.rows[21].id == "29");
- T(queryResults.rows[22].id == "3");
- T(queryResults.rows[23].id == "30");
- T(queryResults.rows[24].id == "31");
- T(queryResults.rows[25].id == "32");
- T(queryResults.rows[26].id == "33");
- T(queryResults.rows[27].id == "34");
- T(queryResults.rows[28].id == "35");
- T(queryResults.rows[29].id == "36");
- T(queryResults.rows[30].id == "37");
- T(queryResults.rows[31].id == "38");
- T(queryResults.rows[32].id == "39");
- T(queryResults.rows[33].id == "4");
- T(queryResults.rows[34].id == "40");
+ // test aliases end_key_docid and end_key
+ queryResults = db.query(function(doc) { emit(null, null); }, null, {
+ start_key: null,
+ start_key_docid: 1,
+ end_key: null,
+ end_key_docid: 40
+ });
+ testEndkeyDocId(queryResults);
};