diff options
author | gregs <greg@10gen.com> | 2011-07-14 11:20:58 -0400 |
---|---|---|
committer | gregs <greg@10gen.com> | 2011-07-14 11:35:12 -0400 |
commit | e6299cf1d1dd63ebda4fd4cd2a7e52de21c8a90a (patch) | |
tree | b45fcd4dd4498558ad91b48694eecc6bc71213e8 | |
parent | 1b048c3a01aaaca98dbc2625920a52f39245d987 (diff) | |
download | mongo-e6299cf1d1dd63ebda4fd4cd2a7e52de21c8a90a.tar.gz |
don't advance iterator if empty/at end for geo cursor SERVER-3428
-rw-r--r-- | db/geo/2d.cpp | 9 |
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() { |