diff options
Diffstat (limited to 'jstests/orf.js')
| -rw-r--r-- | jstests/orf.js | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/jstests/orf.js b/jstests/orf.js index eb6be7a22d3..0e4b7da6cbf 100644 --- a/jstests/orf.js +++ b/jstests/orf.js @@ -9,7 +9,28 @@ for( var i = 0; i < 200; ++i ) { } a.forEach( function( x ) { t.save( x ); } ); -explain = t.find( {$or:a} ).explain(); +explain = t.find( {$or:a} ).explain( true ); +printjson( explain ); assert.eq( 200, explain.n ); -assert.eq( 200, explain.clauses.length ); +clauses = explain.clauses; +for( i = 0; i < clauses.length; ++i ) { + c = clauses[ i ]; + assert.eq( 'BtreeCursor _id_', c.cursor ); + assert.eq( false, c.isMultiKey ); + assert.eq( 1, c.n, 'n' ); + assert.eq( 1, c.nscannedObjects, 'nscannedObjects' ); + assert.eq( 1, c.nscanned, 'nscanned' ); + assert.eq( false, c.scanAndOrder ); + assert.eq( false, c.indexOnly ); + assert.eq( {_id:[[i,i]]}, c.indexBounds ); + allPlans = c.allPlans; + assert.eq( 1, allPlans.length ); + plan = allPlans[ 0 ]; + assert.eq( 'BtreeCursor _id_', plan.cursor ); + assert.eq( 1, plan.n, 'n' ); + assert.eq( 1, plan.nscannedObjects, 'nscannedObjects' ); + assert.eq( 1, plan.nscanned, 'nscanned' ); + assert.eq( {_id:[[i,i]]}, plan.indexBounds ); +} +assert.eq( 200, clauses.length ); assert.eq( 200, t.count( {$or:a} ) ); |
