File: ts1.js

package info (click to toggle)
mongodb 1%3A2.4.10-5
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 82,464 kB
  • sloc: cpp: 740,225; ansic: 152,098; sh: 13,820; python: 11,864; makefile: 1,012; perl: 922; pascal: 617; java: 452; lisp: 222; asm: 174
file content (38 lines) | stat: -rw-r--r-- 777 bytes parent folder | download | duplicates (3)
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
35
36
37
38
t = db.ts1
t.drop()

N = 20

for ( i=0; i<N; i++ ){
    t.insert( { _id : i , x : new Timestamp() } )
    sleep( 100 )
}

function get(i){
    return t.findOne( { _id : i } ).x;
}

function cmp( a , b ){
    if ( a.t < b.t )
        return -1;
    if ( a.t > b.t )
        return 1;
    
    return a.i - b.i;
}

for ( i=0; i<N-1; i++ ){
    a = get(i);
    b = get(i+1);
    //print( tojson(a) + "\t" + tojson(b) + "\t" + cmp(a,b) );
    assert.gt( 0 , cmp( a , b ) , "cmp " + i  )
}

assert.eq( N , t.find( { x : { $type : 17 } } ).itcount() , "B1" )
assert.eq( 0 , t.find( { x : { $type : 3 } } ).itcount() , "B2" )

t.insert( { _id : 100 , x : new Timestamp( 123456 , 50 ) } )
x = t.findOne( { _id : 100 } ).x
assert.eq( 123456 , x.t , "C1" )
assert.eq( 50 , x.i , "C2" )