summaryrefslogtreecommitdiff
path: root/jstests/core/index/indexm.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/index/indexm.js')
-rw-r--r--jstests/core/index/indexm.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/jstests/core/index/indexm.js b/jstests/core/index/indexm.js
new file mode 100644
index 00000000000..7613b125357
--- /dev/null
+++ b/jstests/core/index/indexm.js
@@ -0,0 +1,26 @@
+// Check proper range combinations with or clauses overlapping non or portion of query SERVER-2302
+
+t = db.jstests_indexm;
+t.drop();
+
+t.save({a: [{x: 1}, {x: 2}, {x: 3}, {x: 4}]});
+
+function test() {
+ assert.eq(1, t.count({a: {x: 1}, "$or": [{a: {x: 2}}, {a: {x: 3}}]}));
+}
+
+// The first find will return a result since there isn't an index.
+test();
+
+// Now create an index.
+t.createIndex({"a": 1});
+test();
+
+// Now create a different index.
+t.dropIndexes();
+t.createIndex({"a.x": 1});
+test();
+
+// Drop the indexes.
+t.dropIndexes();
+test();