diff options
Diffstat (limited to 'jstests/core/query/or/oro.js')
-rw-r--r-- | jstests/core/query/or/oro.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/jstests/core/query/or/oro.js b/jstests/core/query/or/oro.js new file mode 100644 index 00000000000..5ceda73818e --- /dev/null +++ b/jstests/core/query/or/oro.js @@ -0,0 +1,33 @@ +// @tags: [ +// requires_collstats, +// requires_getmore, +// ] + +// 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.createIndex(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); |