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