diff options
Diffstat (limited to 'jstests/indexm.js')
-rw-r--r-- | jstests/indexm.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/jstests/indexm.js b/jstests/indexm.js new file mode 100644 index 0000000..6b31ea6 --- /dev/null +++ b/jstests/indexm.js @@ -0,0 +1,38 @@ +// 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.ensureIndex({"a":1}); +test(); +// SERVER-3105 +//assert( !t.find( +// { +// a : { x : 1 } , +// "$or" : [ { a : { x : 2 } } , { a : { x : 3 } } ] +// } +// ).explain().clauses ); + +// Now create a different index. +t.dropIndexes(); +t.ensureIndex({"a.x":1}); +test(); + +// Drop the indexes. +t.dropIndexes(); +test();
\ No newline at end of file |