summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgregs <greg@10gen.com>2011-07-14 11:20:58 -0400
committergregs <greg@10gen.com>2011-07-14 11:35:12 -0400
commite6299cf1d1dd63ebda4fd4cd2a7e52de21c8a90a (patch)
treeb45fcd4dd4498558ad91b48694eecc6bc71213e8
parent1b048c3a01aaaca98dbc2625920a52f39245d987 (diff)
downloadmongo-e6299cf1d1dd63ebda4fd4cd2a7e52de21c8a90a.tar.gz
don't advance iterator if empty/at end for geo cursor SERVER-3428
-rw-r--r--db/geo/2d.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/db/geo/2d.cpp b/db/geo/2d.cpp
index d6c97f6173e..82ee68355db 100644
--- a/db/geo/2d.cpp
+++ b/db/geo/2d.cpp
@@ -1125,7 +1125,14 @@ namespace mongo {
virtual Record* _current() { assert(ok()); return _cur->_loc.rec(); }
virtual BSONObj current() { assert(ok()); return _cur->_o; }
virtual DiskLoc currLoc() { assert(ok()); return _cur->_loc; }
- virtual bool advance() { _cur++; incNscanned(); return ok(); }
+ virtual bool advance() {
+ bool isOk = ok();
+ if( isOk ){
+ _cur++;
+ incNscanned();
+ }
+ return isOk;
+ }
virtual BSONObj currKey() const { return _cur->_key; }
virtual string toString() {