summaryrefslogtreecommitdiff
path: root/jstests/cursora.js
blob: 0916fa769ee8db272a8b04a807a7527d57897864 (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
34

t = db.cursora



function run( n , atomic ){

    t.drop()
    
    for ( i=0; i<n; i++ )
        t.insert( { _id : i } )
    db.getLastError()

    join = startParallelShell( "sleep(50); db.cursora.remove( {"  + ( atomic ? "$atomic:true" : "" ) + "} ); db.getLastError();" );
    
    start = new Date()
    num = t.find( function(){ num = 2; for ( var x=0; x<1000; x++ ) num += 2; return num > 0; } ).sort( { _id : -1 } ).limit(n).itcount()
    end = new Date()

    join()

    print( "num: " + num + " time:" + ( end.getTime() - start.getTime() ) )
    assert.eq( 0 , t.count() , "after remove" )
    if ( n == num )
        print( "warning: shouldn't have counted all  n: " + n + " num: " + num );
}

run( 1500 )
run( 5000 )

run( 1500 , true )
run( 5000 , true )