summaryrefslogtreecommitdiff
path: root/jstests/update4.js
blob: 1502f672a50e2184bb8d35112641860f0b3f8f6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
f = db.jstests_update4;
f.drop();

getLastError = function() {
    ret = db.runCommand( { getlasterror : 1 } );
//    printjson( ret );
    return ret;
}

f.save( {a:1} );
f.update( {a:1}, {a:2} );
assert.eq( true, getLastError().updatedExisting , "A" );
assert.eq( 1, getLastError().n , "B" );
f.update( {a:1}, {a:2} );
assert.eq( false, getLastError().updatedExisting , "C" );
assert.eq( 0, getLastError().n , "D" );

f.update( {a:1}, {a:1}, true );
assert.eq( false, getLastError().updatedExisting , "E" );
assert.eq( 1, getLastError().n , "F" );
f.update( {a:1}, {a:1}, true );
assert.eq( true, getLastError().updatedExisting , "G" );
assert.eq( 1, getLastError().n , "H" );
assert.eq( true, db.getPrevError().updatedExisting , "I" );
assert.eq( 1, db.getPrevError().nPrev , "J" );

f.findOne();
assert.eq( undefined, getLastError().updatedExisting , "K" );
assert.eq( true, db.getPrevError().updatedExisting , "L" );
assert.eq( 2, db.getPrevError().nPrev , "M" );

db.forceError();
assert.eq( undefined, getLastError().updatedExisting , "N" );