2012-01-13 21:24:40 -08:00
|
|
|
// Test that $ne constraints are accounted for in QueryPattern. SERVER-4665
|
|
|
|
|
|
|
|
|
|
t = db.jstests_queryoptimizer6;
|
|
|
|
|
t.drop();
|
|
|
|
|
|
2016-03-09 12:17:50 -05:00
|
|
|
t.save({a: 1});
|
2013-09-25 17:22:08 -04:00
|
|
|
|
|
|
|
|
// There is a bug in the 2.4.x indexing where the first query below returns 0 results with this
|
|
|
|
|
// index, but 1 result without it.
|
|
|
|
|
//
|
|
|
|
|
// t.ensureIndex( {b:1}, {sparse:true} );
|
2012-01-13 21:24:40 -08:00
|
|
|
|
|
|
|
|
// The sparse index will be used, and recorded for this query pattern.
|
2016-03-09 12:17:50 -05:00
|
|
|
assert.eq(1, t.find({a: 1, b: {$ne: 1}}).itcount());
|
2012-01-13 21:24:40 -08:00
|
|
|
// The query pattern should be different, and the sparse index should not be used.
|
2016-03-09 12:17:50 -05:00
|
|
|
assert.eq(1, t.find({a: 1}).itcount());
|