summaryrefslogtreecommitdiff
path: root/jstests/core/index/index_sparse2.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/index/index_sparse2.js')
-rw-r--r--jstests/core/index/index_sparse2.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/jstests/core/index/index_sparse2.js b/jstests/core/index/index_sparse2.js
new file mode 100644
index 00000000000..324b46d8216
--- /dev/null
+++ b/jstests/core/index/index_sparse2.js
@@ -0,0 +1,24 @@
+// Cannot implicitly shard accessed collections because of extra shard key index in sharded
+// collection.
+// @tags: [assumes_no_implicit_index_creation, requires_fastcount]
+
+t = db.index_sparse2;
+t.drop();
+
+t.insert({_id: 1, x: 1, y: 1});
+t.insert({_id: 2, x: 2});
+t.insert({_id: 3});
+
+t.createIndex({x: 1, y: 1});
+assert.eq(2, t.getIndexes().length, "A1");
+assert.eq(3, t.find().sort({x: 1, y: 1}).count(), "A2 count()");
+assert.eq(3, t.find().sort({x: 1, y: 1}).itcount(), "A2 itcount()");
+t.dropIndex({x: 1, y: 1});
+assert.eq(1, t.getIndexes().length, "A3");
+
+t.createIndex({x: 1, y: 1}, {sparse: 1});
+assert.eq(2, t.getIndexes().length, "B1");
+assert.eq(3, t.find().sort({x: 1, y: 1}).count(), "B2 count()");
+assert.eq(3, t.find().sort({x: 1, y: 1}).itcount(), "B2 itcount()");
+t.dropIndex({x: 1, y: 1});
+assert.eq(1, t.getIndexes().length, "B3");