2009-05-18 19:25:30 +02:00
|
|
|
t = db.jstests_capped3;
|
|
|
|
t2 = db.jstests_capped3_clone;
|
|
|
|
t.drop();
|
|
|
|
t2.drop();
|
2016-03-09 18:17:50 +01:00
|
|
|
for (i = 0; i < 1000; ++i) {
|
|
|
|
t.save({i: i});
|
2009-05-18 19:25:30 +02:00
|
|
|
}
|
2016-03-09 18:17:50 +01:00
|
|
|
assert.commandWorked(db.runCommand({
|
|
|
|
cloneCollectionAsCapped: "jstests_capped3",
|
|
|
|
toCollection: "jstests_capped3_clone",
|
|
|
|
size: 100000
|
|
|
|
}),
|
|
|
|
"A");
|
2009-05-18 19:25:30 +02:00
|
|
|
c = t2.find();
|
2016-03-09 18:17:50 +01:00
|
|
|
for (i = 0; i < 1000; ++i) {
|
|
|
|
assert.eq(i, c.next().i, "B");
|
2009-05-18 19:25:30 +02:00
|
|
|
}
|
2016-03-09 18:17:50 +01:00
|
|
|
assert(!c.hasNext(), "C");
|
2009-05-18 19:25:30 +02:00
|
|
|
|
|
|
|
t.drop();
|
|
|
|
t2.drop();
|
|
|
|
|
2016-03-09 18:17:50 +01:00
|
|
|
for (i = 0; i < 1000; ++i) {
|
|
|
|
t.save({i: i});
|
2009-05-18 19:25:30 +02:00
|
|
|
}
|
2016-03-09 18:17:50 +01:00
|
|
|
assert.commandWorked(db.runCommand({
|
|
|
|
cloneCollectionAsCapped: "jstests_capped3",
|
|
|
|
toCollection: "jstests_capped3_clone",
|
|
|
|
size: 1000
|
|
|
|
}),
|
|
|
|
"D");
|
|
|
|
c = t2.find().sort({$natural: -1});
|
2009-05-18 19:25:30 +02:00
|
|
|
i = 999;
|
2016-03-09 18:17:50 +01:00
|
|
|
while (c.hasNext()) {
|
|
|
|
assert.eq(i--, c.next().i, "E");
|
2011-01-01 23:29:27 +01:00
|
|
|
}
|
2016-03-09 18:17:50 +01:00
|
|
|
// print( "i: " + i );
|
|
|
|
var str = tojson(t2.stats());
|
|
|
|
// print( "stats: " + tojson( t2.stats() ) );
|
|
|
|
assert(i < 990, "F");
|
2009-05-18 22:25:17 +02:00
|
|
|
|
|
|
|
t.drop();
|
|
|
|
t2.drop();
|
|
|
|
|
2016-03-09 18:17:50 +01:00
|
|
|
for (i = 0; i < 1000; ++i) {
|
|
|
|
t.save({i: i});
|
2009-05-18 22:25:17 +02:00
|
|
|
}
|
2016-03-09 18:17:50 +01:00
|
|
|
assert.commandWorked(t.convertToCapped(1000), "G");
|
|
|
|
c = t.find().sort({$natural: -1});
|
2009-05-18 22:25:17 +02:00
|
|
|
i = 999;
|
2016-03-09 18:17:50 +01:00
|
|
|
while (c.hasNext()) {
|
|
|
|
assert.eq(i--, c.next().i, "H");
|
2009-05-18 22:25:17 +02:00
|
|
|
}
|
2016-03-09 18:17:50 +01:00
|
|
|
assert(i < 990, "I");
|
|
|
|
assert(i > 900, "J");
|