40 lines
No EOL
985 B
JavaScript
40 lines
No EOL
985 B
JavaScript
|
|
asdf = db.getCollection( "asdf" );
|
|
asdf.drop();
|
|
|
|
var txt = "asdf";
|
|
for(var i=0; i<10; i++) {
|
|
txt = txt + txt;
|
|
}
|
|
|
|
var iterations = _isWindows() ? 2500 : 5000
|
|
|
|
// fill db
|
|
for(var i=1; i<=iterations; i++) {
|
|
var obj = {txt : txt};
|
|
asdf.save(obj);
|
|
|
|
var obj2 = {txt: txt, comments: [{num: i, txt: txt}, {num: [], txt: txt}, {num: true, txt: txt}]};
|
|
asdf.update(obj, obj2);
|
|
|
|
if(i%100 == 0) {
|
|
var c = asdf.count();
|
|
assert.eq(c , i);
|
|
}
|
|
}
|
|
|
|
assert(asdf.validate().valid);
|
|
|
|
var stats = db.runCommand({ collstats: "asdf" });
|
|
|
|
// some checks. want to check that padding factor is working; in addition this lets us do a little basic
|
|
// testing of the collstats command at the same time
|
|
assert(stats.count == iterations);
|
|
assert(stats.size < 140433012 * 5 && stats.size > 1000000);
|
|
assert(stats.numExtents < 20);
|
|
assert(stats.nindexes == 1);
|
|
var pf = stats.paddingFactor;
|
|
print("update.js padding factor: " + pf);
|
|
assert(pf > 1.7 && pf < 2);
|
|
|
|
asdf.drop(); |