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();
|
|
|
|
|
|
|
|
|
|
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.
|
2013-09-25 17:22:08 -04: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.
|
|
|
|
|
assert.eq( 1, t.find( {a:1} ).itcount() );
|