diff options
Diffstat (limited to 'jstests/big_object1.js')
-rw-r--r-- | jstests/big_object1.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/jstests/big_object1.js b/jstests/big_object1.js new file mode 100644 index 0000000..be841e0 --- /dev/null +++ b/jstests/big_object1.js @@ -0,0 +1,46 @@ + +t = db.big_object1 +t.drop(); + +if ( db.adminCommand( "buildinfo" ).bits == 64 ){ + + s = "" + while ( s.length < 850 * 1024 ){ + s += "x"; + } + + x = 0; + while ( true ){ + n = { _id : x , a : [] } + for ( i=0; i<14+x; i++ ) + n.a.push( s ) + try { + t.insert( n ) + o = n + } + catch ( e ){ + break; + } + + if ( db.getLastError() != null ) + break; + x++; + } + + printjson( t.stats(1024*1024) ) + + assert.lt( 15 * 1024 * 1024 , Object.bsonsize( o ) , "A1" ) + assert.gt( 17 * 1024 * 1024 , Object.bsonsize( o ) , "A2" ) + + assert.eq( x , t.count() , "A3" ) + + for ( i=0; i<x; i++ ){ + o = t.findOne( { _id : 1 } ) + assert( o , "B" + i ); + } + + t.drop() +} +else { + print( "skipping big_object1 b/c not 64-bit" ) +} |