summaryrefslogtreecommitdiff
path: root/jstests/queryTmp/indexOtherNamespace.js
blob: 0af9f57732c83646021c9a41defb08f595d5a345 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// SERVER-8814: Test that only the system.indexes namespace can be used to build indexes.

function assertGLENotOK(status) {
    assert(status.ok && status.err !== null,
           "Expected not-OK status object; found " + tojson(status));
}

var otherDB = db.getSiblingDB("indexOtherNS");
otherDB.dropDatabase();

otherDB.foo.insert({a:1})
assert.eq(1, otherDB.system.indexes.count());
// NEW QUERY EXPLAIN
assert.eq(1, otherDB.foo.find({a:1}).itcount());

otherDB.randomNS.system.indexes.insert({ns:"indexOtherNS.foo", key:{a:1}, name:"a_1"});
assertGLENotOK(otherDB.getLastErrorObj());
// Assert that index didn't actually get built
assert.eq(1, otherDB.system.indexes.count());
assert.eq(null, otherDB.system.namespaces.findOne({name : "indexOtherNS.foo.$a_1"}));
// NEW QUERY EXPLAIN
assert.eq(1, otherDB.foo.find({a:1}).itcount());
otherDB.dropDatabase();