diff options
Diffstat (limited to 'jstests/core/explain6.js')
-rw-r--r-- | jstests/core/explain6.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/jstests/core/explain6.js b/jstests/core/explain6.js new file mode 100644 index 00000000000..47d8d2fd731 --- /dev/null +++ b/jstests/core/explain6.js @@ -0,0 +1,25 @@ +// Test explain result count when a skip parameter is used. + +t = db.jstests_explain6; +t.drop(); + +t.save( {} ); +explain = t.find().skip( 1 ).explain( true ); +assert.eq( 0, explain.n ); +// With only one plan, the skip information is known for the plan. This is an arbitrary +// implementation detail, but it changes the way n is calculated. +assert.eq( 0, explain.allPlans[ 0 ].n ); + +t.ensureIndex( {a:1} ); +explain = t.find( {a:null,b:null} ).skip( 1 ).explain( true ); +assert.eq( 0, explain.n ); + +printjson( explain ); +assert.eq( 0, explain.allPlans[ 0 ].n ); + +t.dropIndexes(); +explain = t.find().skip( 1 ).sort({a:1}).explain( true ); +// Skip is applied for an in memory sort. +assert.eq( 0, explain.n ); +printjson(explain); +assert.eq( 0, explain.allPlans[ 0 ].n ); |