~ubuntu-branches/ubuntu/trusty/mongodb/trusty-proposed

« back to all changes in this revision

Viewing changes to jstests/rename.js

  • Committer: Bazaar Package Importer
  • Author(s): Antonin Kral
  • Date: 2010-01-29 19:48:45 UTC
  • Revision ID: james.westby@ubuntu.com-20100129194845-8wbmkf626fwcavc9
Tags: upstream-1.3.1
ImportĀ upstreamĀ versionĀ 1.3.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
admin = db.getMongo().getDB( "admin" );
 
2
 
 
3
a = db.jstests_rename_a;
 
4
b = db.jstests_rename_b;
 
5
c = db.jstests_rename_c;
 
6
 
 
7
a.drop();
 
8
b.drop();
 
9
c.drop();
 
10
 
 
11
a.save( {a: 1} );
 
12
a.save( {a: 2} );
 
13
a.ensureIndex( {a:1} );
 
14
a.ensureIndex( {b:1} );
 
15
 
 
16
c.save( {a: 100} );
 
17
assert.commandFailed( admin.runCommand( {renameCollection:"test.jstests_rename_a", to:"test.jstests_rename_c"} ) );
 
18
 
 
19
assert.commandWorked( admin.runCommand( {renameCollection:"test.jstests_rename_a", to:"test.jstests_rename_b"} ) );
 
20
assert.eq( 0, a.find().count() );
 
21
 
 
22
assert.eq( 2, b.find().count() );
 
23
assert( db.system.namespaces.findOne( {name:"test.jstests_rename_b" } ) );
 
24
assert( !db.system.namespaces.findOne( {name:"test.jstests_rename_a" } ) );
 
25
assert.eq( 3, db.system.indexes.find( {ns:"test.jstests_rename_b"} ).count() );
 
26
assert( b.find( {a:1} ).explain().cursor.match( /^BtreeCursor/ ) );
 
27
 
 
28
// now try renaming a capped collection
 
29
 
 
30
a.drop();
 
31
b.drop();
 
32
c.drop();
 
33
 
 
34
db.createCollection( "jstests_rename_a", {capped:true,size:100} );
 
35
for( i = 0; i < 10; ++i ) {
 
36
    a.save( { i: i } );
 
37
}
 
38
assert.commandWorked( admin.runCommand( {renameCollection:"test.jstests_rename_a", to:"test.jstests_rename_b"} ) );
 
39
assert.eq( 1, b.count( {i:9} ) );
 
40
for( i = 10; i < 20; ++i ) {
 
41
    b.save( { i: i } );
 
42
}
 
43
assert.eq( 0, b.count( {i:9} ) );
 
44
assert.eq( 1, b.count( {i:19} ) );
 
45
 
 
46
assert( db.system.namespaces.findOne( {name:"test.jstests_rename_b" } ) );
 
47
assert( !db.system.namespaces.findOne( {name:"test.jstests_rename_a" } ) );
 
48
assert.eq( true, db.system.namespaces.findOne( {name:"test.jstests_rename_b"} ).options.capped );