diff options
Diffstat (limited to 'jstests/oro.js')
-rw-r--r-- | jstests/oro.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/jstests/oro.js b/jstests/oro.js new file mode 100644 index 00000000000..ae1b6f53552 --- /dev/null +++ b/jstests/oro.js @@ -0,0 +1,27 @@ +// Test $or query with several clauses on separate indexes. + +t = db.jstests_oro; +t.drop(); + +orClauses = []; +for( idxKey = 'a'; idxKey <= 'aaaaaaaaaa'; idxKey += 'a' ) { + idx = {} + idx[ idxKey ] = 1; + t.ensureIndex( idx ); + for( i = 0; i < 200; ++i ) { + t.insert( idx ); + } + orClauses.push( idx ); +} + +printjson( t.find({$or:orClauses}).explain() ); +c = t.find({$or:orClauses}).batchSize( 100 ); +count = 0; + +while( c.hasNext() ) { + for( i = 0; i < 50 && c.hasNext(); ++i, c.next(), ++count ); + // Interleave with another operation. + t.stats(); +} + +assert.eq( 10 * 200, count ); |