diff options
Diffstat (limited to 'jstests/core/mr_optim.js')
-rw-r--r-- | jstests/core/mr_optim.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/jstests/core/mr_optim.js b/jstests/core/mr_optim.js new file mode 100644 index 00000000000..164839e2f2c --- /dev/null +++ b/jstests/core/mr_optim.js @@ -0,0 +1,48 @@ + + +t = db.mr_optim; +t.drop(); + +for (var i = 0; i < 1000; ++i) { + t.save( {a: Math.random(1000), b: Math.random(10000)} ); +} + +function m(){ + emit(this._id, 13); +} + +function r( key , values ){ + return "bad"; +} + +function reformat( r ){ + var x = {}; + var cursor; + if ( r.results ) + cursor = r.results; + else + cursor = r.find(); + cursor.forEach( + function(z){ + x[z._id] = z.value; + } + ); + return x; +} + +res = t.mapReduce( m , r , { out : "mr_optim_out" } ); +printjson( res ) +x = reformat( res ); +for (var key in x) { + assert.eq(x[key], 13, "value is not equal to original, maybe reduce has run"); +} +res.drop(); + +res = t.mapReduce( m , r , { out : { inline : 1 } } ); +//printjson( res ) +x2 = reformat( res ); +res.drop(); + +assert.eq(x, x2, "object from inline and collection are not equal") + +t.drop();
\ No newline at end of file |