summaryrefslogtreecommitdiff
path: root/jstests
diff options
context:
space:
mode:
authormatt dannenberg <matt.dannenberg@10gen.com>2013-08-29 17:41:24 -0400
committerDan Pasette <dan@mongodb.com>2014-03-09 11:27:35 -0400
commit73695a99c1c1f19fc795f7a636787364e1f7b30d (patch)
tree3778922e268d65a0a9b6f592ed02d86ce17c88df /jstests
parentfcabc21a3e9336869af2598aaa7ad86012d467cb (diff)
downloadmongo-73695a99c1c1f19fc795f7a636787364e1f7b30d.tar.gz
SERVER-10231 disallow creation of indexes on system.indexes
Conflicts: src/mongo/db/index.cpp src/mongo/db/namespacestring.h
Diffstat (limited to 'jstests')
-rw-r--r--jstests/indexes_on_indexes.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/jstests/indexes_on_indexes.js b/jstests/indexes_on_indexes.js
new file mode 100644
index 00000000000..807c1e25bfd
--- /dev/null
+++ b/jstests/indexes_on_indexes.js
@@ -0,0 +1,19 @@
+// ensure an index cannot be created on system.indexes
+t = db.getSiblingDB("indexes_on_indexes");
+printjson(t.system.indexes.getIndexes());
+assert.eq(t.system.indexes.getIndexes().length, 0);
+print("trying via ensureIndex");
+assert.throws(t.system.indexes.ensureIndex({_id:1}));
+printjson(t.system.indexes.getIndexes());
+assert.eq(t.system.indexes.getIndexes().length, 0);
+print("trying via createIndex");
+assert.throws(t.system.indexes.createIndex({_id:1}));
+printjson(t.system.indexes.getIndexes());
+assert.eq(t.system.indexes.getIndexes().length, 0);
+print("trying via direct insertion");
+assert.throws(t.system.indexes.insert({ v:1,
+ key:{_id:1},
+ ns: "indexes_on_indexes.system.indexes",
+ name:"wontwork"}));
+printjson(t.system.indexes.getIndexes());
+assert.eq(t.system.indexes.getIndexes().length, 0);