summaryrefslogtreecommitdiff
path: root/jstests/orf.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/orf.js')
-rw-r--r--jstests/orf.js25
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} ) );