diff options
Diffstat (limited to 'jstests/core/ddl/drop3.js')
-rw-r--r-- | jstests/core/ddl/drop3.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/jstests/core/ddl/drop3.js b/jstests/core/ddl/drop3.js new file mode 100644 index 00000000000..78d4872a6c0 --- /dev/null +++ b/jstests/core/ddl/drop3.js @@ -0,0 +1,31 @@ +// @tags: [ +// requires_getmore, +// # getMore is not causally consistent if collection is dropped. +// does_not_support_causal_consistency, +// ] + +t = db.jstests_drop3; +sub = t.sub; + +t.drop(); +sub.drop(); + +for (var i = 0; i < 10; i++) { + t.insert({}); + sub.insert({}); +} + +var cursor = t.find().batchSize(2); +var subcursor = sub.find().batchSize(2); + +cursor.next(); +subcursor.next(); +assert.eq(cursor.objsLeftInBatch(), 1); +assert.eq(subcursor.objsLeftInBatch(), 1); + +t.drop(); // should invalidate cursor, but not subcursor + +assert.throws(function() { + cursor.itcount(); +}); // throws "cursor doesn't exist on server" error on getMore +assert.eq(subcursor.itcount(), 9); // one already seen |