summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDwight <dmerriman@gmail.com>2008-07-24 16:47:24 -0400
committerDwight <dmerriman@gmail.com>2008-07-24 16:47:24 -0400
commit1a5d90cc9d0c3c42dd5396e7ecdaae1d7c22d293 (patch)
treecc04532bce97ba5f44678369e2530935ecd3c77d
parent20c7cf953ad19a04e128c39730df22371050b68f (diff)
downloadmongo-1a5d90cc9d0c3c42dd5396e7ecdaae1d7c22d293.tar.gz
cursorid 0 on getmore; fix for hudsonSmall test
-rw-r--r--db/query.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/db/query.cpp b/db/query.cpp
index 61ebf048cc5..95aeccdaf70 100644
--- a/db/query.cpp
+++ b/db/query.cpp
@@ -470,9 +470,11 @@ string validateNS(const char *ns, NamespaceDetails *d) {
ndel++;
if( loc.questionable() ) {
- ss << " ?bad deleted loc: " << loc.toString() << " bucket:" << i << " k:" << k << endl;
- valid = false;
- break;
+ if( loc.a() <= 0 || strstr(ns, "hudsonSmall") == 0 ) {
+ ss << " ?bad deleted loc: " << loc.toString() << " bucket:" << i << " k:" << k << endl;
+ valid = false;
+ break;
+ }
}
DeletedRecord *d = loc.drec();
@@ -1066,6 +1068,7 @@ QueryResult* getMore(const char *ns, int ntoreturn, long long cursorid) {
if( !cc ) {
DEV cout << "getMore: cursorid not found " << ns << " " << cursorid << endl;
+ cursorid = 0;
}
else {
start = cc->pos;