Megatest

Hex Artifact Content
Login

Artifact e634aaf404827389836ebb983614b35d624c5d93:


0000: 28 64 65 66 69 6e 65 20 28 6d 61 6b 65 2d 64 62  (define (make-db
0010: 3a 74 65 73 74 29 28 6d 61 6b 65 2d 76 65 63 74  :test)(make-vect
0020: 6f 72 20 36 29 29 0a 28 64 65 66 69 6e 65 2d 69  or 6)).(define-i
0030: 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73 74 2d 67  nline (db:test-g
0040: 65 74 2d 69 64 20 20 20 20 20 20 20 20 20 20 20  et-id           
0050: 76 65 63 29 20 28 76 65 63 74 6f 72 2d 72 65 66  vec) (vector-ref
0060: 20 76 65 63 20 30 29 29 0a 28 64 65 66 69 6e 65   vec 0)).(define
0070: 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73 74  -inline (db:test
0080: 2d 67 65 74 2d 72 75 6e 5f 69 64 20 20 20 20 20  -get-run_id     
0090: 20 20 76 65 63 29 20 28 76 65 63 74 6f 72 2d 72    vec) (vector-r
00a0: 65 66 20 76 65 63 20 31 29 29 0a 28 64 65 66 69  ef vec 1)).(defi
00b0: 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65  ne-inline (db:te
00c0: 73 74 2d 67 65 74 2d 74 65 73 74 6e 61 6d 65 20  st-get-testname 
00d0: 20 20 20 20 76 65 63 29 20 28 76 65 63 74 6f 72      vec) (vector
00e0: 2d 72 65 66 20 76 65 63 20 32 29 29 0a 28 64 65  -ref vec 2)).(de
00f0: 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a  fine-inline (db:
0100: 74 65 73 74 2d 67 65 74 2d 73 74 61 74 65 20 20  test-get-state  
0110: 20 20 20 20 20 20 76 65 63 29 20 28 76 65 63 74        vec) (vect
0120: 6f 72 2d 72 65 66 20 76 65 63 20 33 29 29 0a 28  or-ref vec 3)).(
0130: 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64  define-inline (d
0140: 62 3a 74 65 73 74 2d 67 65 74 2d 73 74 61 74 75  b:test-get-statu
0150: 73 20 20 20 20 20 20 20 76 65 63 29 20 28 76 65  s       vec) (ve
0160: 63 74 6f 72 2d 72 65 66 20 76 65 63 20 34 29 29  ctor-ref vec 4))
0170: 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20  .(define-inline 
0180: 28 64 62 3a 74 65 73 74 2d 67 65 74 2d 65 76 65  (db:test-get-eve
0190: 6e 74 5f 74 69 6d 65 20 20 20 76 65 63 29 20 28  nt_time   vec) (
01a0: 76 65 63 74 6f 72 2d 72 65 66 20 76 65 63 20 35  vector-ref vec 5
01b0: 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e  )).(define-inlin
01c0: 65 20 28 64 62 3a 74 65 73 74 2d 67 65 74 2d 68  e (db:test-get-h
01d0: 6f 73 74 20 20 20 20 20 20 20 20 20 76 65 63 29  ost         vec)
01e0: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 65 63   (vector-ref vec
01f0: 20 36 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c   6)).(define-inl
0200: 69 6e 65 20 28 64 62 3a 74 65 73 74 2d 67 65 74  ine (db:test-get
0210: 2d 63 70 75 6c 6f 61 64 20 20 20 20 20 20 76 65  -cpuload      ve
0220: 63 29 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76  c) (vector-ref v
0230: 65 63 20 37 29 29 0a 28 64 65 66 69 6e 65 2d 69  ec 7)).(define-i
0240: 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73 74 2d 67  nline (db:test-g
0250: 65 74 2d 64 69 73 6b 66 72 65 65 20 20 20 20 20  et-diskfree     
0260: 76 65 63 29 20 28 76 65 63 74 6f 72 2d 72 65 66  vec) (vector-ref
0270: 20 76 65 63 20 38 29 29 0a 28 64 65 66 69 6e 65   vec 8)).(define
0280: 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73 74  -inline (db:test
0290: 2d 67 65 74 2d 75 6e 61 6d 65 20 20 20 20 20 20  -get-uname      
02a0: 20 20 76 65 63 29 20 28 76 65 63 74 6f 72 2d 72    vec) (vector-r
02b0: 65 66 20 76 65 63 20 39 29 29 0a 28 64 65 66 69  ef vec 9)).(defi
02c0: 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65  ne-inline (db:te
02d0: 73 74 2d 67 65 74 2d 72 75 6e 64 69 72 20 20 20  st-get-rundir   
02e0: 20 20 20 20 76 65 63 29 20 28 76 65 63 74 6f 72      vec) (vector
02f0: 2d 72 65 66 20 76 65 63 20 31 30 29 29 0a 28 64  -ref vec 10)).(d
0300: 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62  efine-inline (db
0310: 3a 74 65 73 74 2d 67 65 74 2d 69 74 65 6d 2d 70  :test-get-item-p
0320: 61 74 68 20 20 20 20 76 65 63 29 20 28 76 65 63  ath    vec) (vec
0330: 74 6f 72 2d 72 65 66 20 76 65 63 20 31 31 29 29  tor-ref vec 11))
0340: 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20  .(define-inline 
0350: 28 64 62 3a 74 65 73 74 2d 67 65 74 2d 72 75 6e  (db:test-get-run
0360: 5f 64 75 72 61 74 69 6f 6e 20 76 65 63 29 20 28  _duration vec) (
0370: 76 65 63 74 6f 72 2d 72 65 66 20 76 65 63 20 31  vector-ref vec 1
0380: 32 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69  2)).(define-inli
0390: 6e 65 20 28 64 62 3a 74 65 73 74 2d 67 65 74 2d  ne (db:test-get-
03a0: 66 69 6e 61 6c 5f 6c 6f 67 66 20 20 20 76 65 63  final_logf   vec
03b0: 29 20 28 76 65 63 74 6f 72 2d 72 65 66 20 76 65  ) (vector-ref ve
03c0: 63 20 31 33 29 29 0a 28 64 65 66 69 6e 65 2d 69  c 13)).(define-i
03d0: 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73 74 2d 67  nline (db:test-g
03e0: 65 74 2d 63 6f 6d 6d 65 6e 74 20 20 20 20 20 20  et-comment      
03f0: 76 65 63 29 20 28 76 65 63 74 6f 72 2d 72 65 66  vec) (vector-ref
0400: 20 76 65 63 20 31 34 29 29 0a 28 64 65 66 69 6e   vec 14)).(defin
0410: 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73  e-inline (db:tes
0420: 74 2d 67 65 74 2d 66 75 6c 6c 6e 61 6d 65 20 20  t-get-fullname  
0430: 20 20 20 76 65 63 29 0a 20 20 28 63 6f 6e 63 20     vec).  (conc 
0440: 28 64 62 3a 74 65 73 74 2d 67 65 74 2d 74 65 73  (db:test-get-tes
0450: 74 6e 61 6d 65 20 76 65 63 29 20 22 2f 22 20 28  tname vec) "/" (
0460: 64 62 3a 74 65 73 74 2d 67 65 74 2d 69 74 65 6d  db:test-get-item
0470: 2d 70 61 74 68 20 76 65 63 29 29 29 0a 0a 28 64  -path vec)))..(d
0480: 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62  efine-inline (db
0490: 3a 74 65 73 74 2d 67 65 74 2d 66 69 72 73 74 5f  :test-get-first_
04a0: 65 72 72 20 20 20 20 76 65 63 29 20 28 70 72 69  err    vec) (pri
04b0: 6e 74 61 62 6c 65 20 28 76 65 63 74 6f 72 2d 72  ntable (vector-r
04c0: 65 66 20 76 65 63 20 31 35 29 29 29 0a 28 64 65  ef vec 15))).(de
04d0: 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a  fine-inline (db:
04e0: 74 65 73 74 2d 67 65 74 2d 66 69 72 73 74 5f 77  test-get-first_w
04f0: 61 72 6e 20 20 20 76 65 63 29 20 28 70 72 69 6e  arn   vec) (prin
0500: 74 61 62 6c 65 20 28 76 65 63 74 6f 72 2d 72 65  table (vector-re
0510: 66 20 76 65 63 20 31 36 29 29 29 0a 0a 28 64 65  f vec 16)))..(de
0520: 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a  fine-inline (db:
0530: 74 65 73 74 2d 73 65 74 2d 63 70 75 6c 6f 61 64  test-set-cpuload
0540: 21 20 20 76 65 63 20 76 61 6c 29 28 76 65 63 74  !  vec val)(vect
0550: 6f 72 2d 73 65 74 21 20 76 65 63 20 37 20 76 61  or-set! vec 7 va
0560: 6c 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69  l)).(define-inli
0570: 6e 65 20 28 64 62 3a 74 65 73 74 2d 73 65 74 2d  ne (db:test-set-
0580: 64 69 73 6b 66 72 65 65 21 20 76 65 63 20 76 61  diskfree! vec va
0590: 6c 29 28 76 65 63 74 6f 72 2d 73 65 74 21 20 76  l)(vector-set! v
05a0: 65 63 20 38 20 76 61 6c 29 29 0a 28 64 65 66 69  ec 8 val)).(defi
05b0: 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65  ne-inline (db:te
05c0: 73 74 2d 73 65 74 2d 74 65 73 74 6e 61 6d 65 21  st-set-testname!
05d0: 20 76 65 63 20 76 61 6c 29 28 76 65 63 74 6f 72   vec val)(vector
05e0: 2d 73 65 74 21 20 76 65 63 20 32 20 76 61 6c 29  -set! vec 2 val)
05f0: 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65  ).(define-inline
0600: 20 28 64 62 3a 74 65 73 74 2d 73 65 74 2d 73 74   (db:test-set-st
0610: 61 74 65 21 20 20 20 20 76 65 63 20 76 61 6c 29  ate!    vec val)
0620: 28 76 65 63 74 6f 72 2d 73 65 74 21 20 76 65 63  (vector-set! vec
0630: 20 33 20 76 61 6c 29 29 0a 28 64 65 66 69 6e 65   3 val)).(define
0640: 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73 74  -inline (db:test
0650: 2d 73 65 74 2d 73 74 61 74 75 73 21 20 20 20 76  -set-status!   v
0660: 65 63 20 76 61 6c 29 28 76 65 63 74 6f 72 2d 73  ec val)(vector-s
0670: 65 74 21 20 76 65 63 20 34 20 76 61 6c 29 29 0a  et! vec 4 val)).
0680: 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28  (define-inline (
0690: 64 62 3a 74 65 73 74 2d 73 65 74 2d 72 75 6e 5f  db:test-set-run_
06a0: 64 75 72 61 74 69 6f 6e 21 20 76 65 63 20 76 61  duration! vec va
06b0: 6c 29 28 76 65 63 74 6f 72 2d 73 65 74 21 20 76  l)(vector-set! v
06c0: 65 63 20 31 32 20 76 61 6c 29 29 0a 28 64 65 66  ec 12 val)).(def
06d0: 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74  ine-inline (db:t
06e0: 65 73 74 2d 73 65 74 2d 66 69 6e 61 6c 5f 6c 6f  est-set-final_lo
06f0: 67 66 21 20 76 65 63 20 76 61 6c 29 28 76 65 63  gf! vec val)(vec
0700: 74 6f 72 2d 73 65 74 21 20 76 65 63 20 31 33 20  tor-set! vec 13 
0710: 76 61 6c 29 29 0a 0a 3b 3b 20 67 65 74 20 72 6f  val))..;; get ro
0720: 77 73 20 61 6e 64 20 68 65 61 64 65 72 20 66 72  ws and header fr
0730: 6f 6d 20 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69  om .(define-inli
0740: 6e 65 20 28 64 62 3a 67 65 74 2d 68 65 61 64 65  ne (db:get-heade
0750: 72 20 76 65 63 29 28 76 65 63 74 6f 72 2d 72 65  r vec)(vector-re
0760: 66 20 76 65 63 20 30 29 29 0a 28 64 65 66 69 6e  f vec 0)).(defin
0770: 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 67 65 74  e-inline (db:get
0780: 2d 72 6f 77 73 20 20 20 76 65 63 29 28 76 65 63  -rows   vec)(vec
0790: 74 6f 72 2d 72 65 66 20 76 65 63 20 31 29 29 0a  tor-ref vec 1)).
07a0: 0a 3b 3b 20 6d 61 6b 65 2d 76 65 63 74 6f 72 2d  .;; make-vector-
07b0: 72 65 63 6f 72 64 20 22 22 20 64 62 20 6d 69 6e  record "" db min
07c0: 74 65 73 74 20 69 64 20 72 75 6e 5f 69 64 20 74  test id run_id t
07d0: 65 73 74 6e 61 6d 65 20 73 74 61 74 65 20 73 74  estname state st
07e0: 61 74 75 73 20 65 76 65 6e 74 5f 74 69 6d 65 20  atus event_time 
07f0: 69 74 65 6d 5f 70 61 74 68 0a 3b 3b 0a 28 64 65  item_path.;;.(de
0800: 66 69 6e 65 20 28 6d 61 6b 65 2d 64 62 3a 6d 69  fine (make-db:mi
0810: 6e 74 65 73 74 29 28 6d 61 6b 65 2d 76 65 63 74  ntest)(make-vect
0820: 6f 72 20 37 29 29 0a 28 64 65 66 69 6e 65 2d 69  or 7)).(define-i
0830: 6e 6c 69 6e 65 20 28 64 62 3a 6d 69 6e 74 65 73  nline (db:mintes
0840: 74 2d 67 65 74 2d 69 64 20 20 20 20 20 20 20 20  t-get-id        
0850: 20 20 20 76 65 63 29 20 20 20 20 28 76 65 63 74     vec)    (vect
0860: 6f 72 2d 72 65 66 20 20 76 65 63 20 30 29 29 0a  or-ref  vec 0)).
0870: 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28  (define-inline (
0880: 64 62 3a 6d 69 6e 74 65 73 74 2d 67 65 74 2d 72  db:mintest-get-r
0890: 75 6e 5f 69 64 20 20 20 20 20 20 20 76 65 63 29  un_id       vec)
08a0: 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20      (vector-ref 
08b0: 20 76 65 63 20 31 29 29 0a 28 64 65 66 69 6e 65   vec 1)).(define
08c0: 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 6d 69 6e 74  -inline (db:mint
08d0: 65 73 74 2d 67 65 74 2d 74 65 73 74 6e 61 6d 65  est-get-testname
08e0: 20 20 20 20 20 76 65 63 29 20 20 20 20 28 76 65       vec)    (ve
08f0: 63 74 6f 72 2d 72 65 66 20 20 76 65 63 20 32 29  ctor-ref  vec 2)
0900: 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65  ).(define-inline
0910: 20 28 64 62 3a 6d 69 6e 74 65 73 74 2d 67 65 74   (db:mintest-get
0920: 2d 73 74 61 74 65 20 20 20 20 20 20 20 20 76 65  -state        ve
0930: 63 29 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65  c)    (vector-re
0940: 66 20 20 76 65 63 20 33 29 29 0a 28 64 65 66 69  f  vec 3)).(defi
0950: 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 6d 69  ne-inline (db:mi
0960: 6e 74 65 73 74 2d 67 65 74 2d 73 74 61 74 75 73  ntest-get-status
0970: 20 20 20 20 20 20 20 76 65 63 29 20 20 20 20 28         vec)    (
0980: 76 65 63 74 6f 72 2d 72 65 66 20 20 76 65 63 20  vector-ref  vec 
0990: 34 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69  4)).(define-inli
09a0: 6e 65 20 28 64 62 3a 6d 69 6e 74 65 73 74 2d 67  ne (db:mintest-g
09b0: 65 74 2d 65 76 65 6e 74 5f 74 69 6d 65 20 20 20  et-event_time   
09c0: 76 65 63 29 20 20 20 20 28 76 65 63 74 6f 72 2d  vec)    (vector-
09d0: 72 65 66 20 20 76 65 63 20 35 29 29 0a 28 64 65  ref  vec 5)).(de
09e0: 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a  fine-inline (db:
09f0: 6d 69 6e 74 65 73 74 2d 67 65 74 2d 69 74 65 6d  mintest-get-item
0a00: 5f 70 61 74 68 20 20 20 20 76 65 63 29 20 20 20  _path    vec)   
0a10: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 20 76 65   (vector-ref  ve
0a20: 63 20 36 29 29 0a 0a 3b 3b 20 6d 61 6b 65 2d 76  c 6))..;; make-v
0a30: 65 63 74 6f 72 2d 72 65 63 6f 72 64 20 64 62 20  ector-record db 
0a40: 74 65 73 74 6d 65 74 61 20 69 64 20 74 65 73 74  testmeta id test
0a50: 6e 61 6d 65 20 61 75 74 68 6f 72 20 6f 77 6e 65  name author owne
0a60: 72 20 64 65 73 63 72 69 70 74 69 6f 6e 20 72 65  r description re
0a70: 76 69 65 77 65 64 20 69 74 65 72 61 74 65 64 20  viewed iterated 
0a80: 61 76 67 5f 72 75 6e 74 69 6d 65 20 61 76 67 5f  avg_runtime avg_
0a90: 64 69 73 6b 0a 28 64 65 66 69 6e 65 20 28 6d 61  disk.(define (ma
0aa0: 6b 65 2d 64 62 3a 74 65 73 74 6d 65 74 61 29 28  ke-db:testmeta)(
0ab0: 6d 61 6b 65 2d 76 65 63 74 6f 72 20 31 30 20 22  make-vector 10 "
0ac0: 22 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69  ")).(define-inli
0ad0: 6e 65 20 28 64 62 3a 74 65 73 74 6d 65 74 61 2d  ne (db:testmeta-
0ae0: 67 65 74 2d 69 64 20 20 20 20 20 20 20 20 20 20  get-id          
0af0: 20 20 76 65 63 29 20 20 20 20 28 76 65 63 74 6f    vec)    (vecto
0b00: 72 2d 72 65 66 20 20 76 65 63 20 30 29 29 0a 28  r-ref  vec 0)).(
0b10: 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64  define-inline (d
0b20: 62 3a 74 65 73 74 6d 65 74 61 2d 67 65 74 2d 74  b:testmeta-get-t
0b30: 65 73 74 6e 61 6d 65 20 20 20 20 20 20 76 65 63  estname      vec
0b40: 29 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66  )    (vector-ref
0b50: 20 20 76 65 63 20 31 29 29 0a 28 64 65 66 69 6e    vec 1)).(defin
0b60: 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73  e-inline (db:tes
0b70: 74 6d 65 74 61 2d 67 65 74 2d 61 75 74 68 6f 72  tmeta-get-author
0b80: 20 20 20 20 20 20 20 20 76 65 63 29 20 20 20 20          vec)    
0b90: 28 76 65 63 74 6f 72 2d 72 65 66 20 20 76 65 63  (vector-ref  vec
0ba0: 20 32 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c   2)).(define-inl
0bb0: 69 6e 65 20 28 64 62 3a 74 65 73 74 6d 65 74 61  ine (db:testmeta
0bc0: 2d 67 65 74 2d 6f 77 6e 65 72 20 20 20 20 20 20  -get-owner      
0bd0: 20 20 20 76 65 63 29 20 20 20 20 28 76 65 63 74     vec)    (vect
0be0: 6f 72 2d 72 65 66 20 20 76 65 63 20 33 29 29 0a  or-ref  vec 3)).
0bf0: 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28  (define-inline (
0c00: 64 62 3a 74 65 73 74 6d 65 74 61 2d 67 65 74 2d  db:testmeta-get-
0c10: 64 65 73 63 72 69 70 74 69 6f 6e 20 20 20 76 65  description   ve
0c20: 63 29 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65  c)    (vector-re
0c30: 66 20 20 76 65 63 20 34 29 29 0a 28 64 65 66 69  f  vec 4)).(defi
0c40: 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65  ne-inline (db:te
0c50: 73 74 6d 65 74 61 2d 67 65 74 2d 72 65 76 69 65  stmeta-get-revie
0c60: 77 65 64 20 20 20 20 20 20 76 65 63 29 20 20 20  wed      vec)   
0c70: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 20 76 65   (vector-ref  ve
0c80: 63 20 35 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e  c 5)).(define-in
0c90: 6c 69 6e 65 20 28 64 62 3a 74 65 73 74 6d 65 74  line (db:testmet
0ca0: 61 2d 67 65 74 2d 69 74 65 72 61 74 65 64 20 20  a-get-iterated  
0cb0: 20 20 20 20 76 65 63 29 20 20 20 20 28 76 65 63      vec)    (vec
0cc0: 74 6f 72 2d 72 65 66 20 20 76 65 63 20 36 29 29  tor-ref  vec 6))
0cd0: 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20  .(define-inline 
0ce0: 28 64 62 3a 74 65 73 74 6d 65 74 61 2d 67 65 74  (db:testmeta-get
0cf0: 2d 61 76 67 5f 72 75 6e 74 69 6d 65 20 20 20 76  -avg_runtime   v
0d00: 65 63 29 20 20 20 20 28 76 65 63 74 6f 72 2d 72  ec)    (vector-r
0d10: 65 66 20 20 76 65 63 20 37 29 29 0a 28 64 65 66  ef  vec 7)).(def
0d20: 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74  ine-inline (db:t
0d30: 65 73 74 6d 65 74 61 2d 67 65 74 2d 61 76 67 5f  estmeta-get-avg_
0d40: 64 69 73 6b 20 20 20 20 20 20 76 65 63 29 20 20  disk      vec)  
0d50: 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 20 76    (vector-ref  v
0d60: 65 63 20 38 29 29 0a 28 64 65 66 69 6e 65 2d 69  ec 8)).(define-i
0d70: 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73 74 6d 65  nline (db:testme
0d80: 74 61 2d 67 65 74 2d 74 61 67 73 20 20 20 20 20  ta-get-tags     
0d90: 20 20 20 20 20 76 65 63 29 20 20 20 20 28 76 65       vec)    (ve
0da0: 63 74 6f 72 2d 72 65 66 20 20 76 65 63 20 39 29  ctor-ref  vec 9)
0db0: 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65  ).(define-inline
0dc0: 20 28 64 62 3a 74 65 73 74 6d 65 74 61 2d 73 65   (db:testmeta-se
0dd0: 74 2d 69 64 21 20 20 20 20 20 20 20 20 20 20 20  t-id!           
0de0: 76 65 63 20 76 61 6c 29 28 76 65 63 74 6f 72 2d  vec val)(vector-
0df0: 73 65 74 21 20 76 65 63 20 30 20 76 61 6c 29 29  set! vec 0 val))
0e00: 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20  .(define-inline 
0e10: 28 64 62 3a 74 65 73 74 6d 65 74 61 2d 73 65 74  (db:testmeta-set
0e20: 2d 74 65 73 74 6e 61 6d 65 21 20 20 20 20 20 76  -testname!     v
0e30: 65 63 20 76 61 6c 29 28 76 65 63 74 6f 72 2d 73  ec val)(vector-s
0e40: 65 74 21 20 76 65 63 20 31 20 76 61 6c 29 29 0a  et! vec 1 val)).
0e50: 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28  (define-inline (
0e60: 64 62 3a 74 65 73 74 6d 65 74 61 2d 73 65 74 2d  db:testmeta-set-
0e70: 61 75 74 68 6f 72 21 20 20 20 20 20 20 20 76 65  author!       ve
0e80: 63 20 76 61 6c 29 28 76 65 63 74 6f 72 2d 73 65  c val)(vector-se
0e90: 74 21 20 76 65 63 20 32 20 76 61 6c 29 29 0a 28  t! vec 2 val)).(
0ea0: 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64  define-inline (d
0eb0: 62 3a 74 65 73 74 6d 65 74 61 2d 73 65 74 2d 6f  b:testmeta-set-o
0ec0: 77 6e 65 72 21 20 20 20 20 20 20 20 20 76 65 63  wner!        vec
0ed0: 20 76 61 6c 29 28 76 65 63 74 6f 72 2d 73 65 74   val)(vector-set
0ee0: 21 20 76 65 63 20 33 20 76 61 6c 29 29 0a 28 64  ! vec 3 val)).(d
0ef0: 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62  efine-inline (db
0f00: 3a 74 65 73 74 6d 65 74 61 2d 73 65 74 2d 64 65  :testmeta-set-de
0f10: 73 63 72 69 70 74 69 6f 6e 21 20 20 76 65 63 20  scription!  vec 
0f20: 76 61 6c 29 28 76 65 63 74 6f 72 2d 73 65 74 21  val)(vector-set!
0f30: 20 76 65 63 20 34 20 76 61 6c 29 29 0a 28 64 65   vec 4 val)).(de
0f40: 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a  fine-inline (db:
0f50: 74 65 73 74 6d 65 74 61 2d 73 65 74 2d 72 65 76  testmeta-set-rev
0f60: 69 65 77 65 64 21 20 20 20 20 20 76 65 63 20 76  iewed!     vec v
0f70: 61 6c 29 28 76 65 63 74 6f 72 2d 73 65 74 21 20  al)(vector-set! 
0f80: 76 65 63 20 35 20 76 61 6c 29 29 0a 28 64 65 66  vec 5 val)).(def
0f90: 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74  ine-inline (db:t
0fa0: 65 73 74 6d 65 74 61 2d 73 65 74 2d 69 74 65 72  estmeta-set-iter
0fb0: 61 74 65 64 21 20 20 20 20 20 76 65 63 20 76 61  ated!     vec va
0fc0: 6c 29 28 76 65 63 74 6f 72 2d 73 65 74 21 20 76  l)(vector-set! v
0fd0: 65 63 20 36 20 76 61 6c 29 29 0a 28 64 65 66 69  ec 6 val)).(defi
0fe0: 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65  ne-inline (db:te
0ff0: 73 74 6d 65 74 61 2d 73 65 74 2d 61 76 67 5f 72  stmeta-set-avg_r
1000: 75 6e 74 69 6d 65 21 20 20 76 65 63 20 76 61 6c  untime!  vec val
1010: 29 28 76 65 63 74 6f 72 2d 73 65 74 21 20 76 65  )(vector-set! ve
1020: 63 20 37 20 76 61 6c 29 29 0a 28 64 65 66 69 6e  c 7 val)).(defin
1030: 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73  e-inline (db:tes
1040: 74 6d 65 74 61 2d 73 65 74 2d 61 76 67 5f 64 69  tmeta-set-avg_di
1050: 73 6b 21 20 20 20 20 20 76 65 63 20 76 61 6c 29  sk!     vec val)
1060: 28 76 65 63 74 6f 72 2d 73 65 74 21 20 76 65 63  (vector-set! vec
1070: 20 38 20 76 61 6c 29 29 0a 0a 3b 3b 3d 3d 3d 3d   8 val))..;;====
1080: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
1090: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
10a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
10b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
10c0: 3d 3d 0a 3b 3b 20 54 20 45 20 53 20 54 20 20 20  ==.;; T E S T   
10d0: 44 20 41 20 54 20 41 20 0a 3b 3b 3d 3d 3d 3d 3d  D A T A .;;=====
10e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
10f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
1100: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
1110: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
1120: 3d 0a 28 64 65 66 69 6e 65 20 28 6d 61 6b 65 2d  =.(define (make-
1130: 64 62 3a 74 65 73 74 2d 64 61 74 61 29 28 6d 61  db:test-data)(ma
1140: 6b 65 2d 76 65 63 74 6f 72 20 31 30 29 29 0a 28  ke-vector 10)).(
1150: 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64  define-inline (d
1160: 62 3a 74 65 73 74 2d 64 61 74 61 2d 67 65 74 2d  b:test-data-get-
1170: 69 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20  id              
1180: 20 76 65 63 29 20 20 20 20 28 76 65 63 74 6f 72   vec)    (vector
1190: 2d 72 65 66 20 20 76 65 63 20 30 29 29 0a 28 64  -ref  vec 0)).(d
11a0: 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62  efine-inline (db
11b0: 3a 74 65 73 74 2d 64 61 74 61 2d 67 65 74 2d 74  :test-data-get-t
11c0: 65 73 74 5f 69 64 20 20 20 20 20 20 20 20 20 20  est_id          
11d0: 76 65 63 29 20 20 20 20 28 76 65 63 74 6f 72 2d  vec)    (vector-
11e0: 72 65 66 20 20 76 65 63 20 31 29 29 0a 28 64 65  ref  vec 1)).(de
11f0: 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a  fine-inline (db:
1200: 74 65 73 74 2d 64 61 74 61 2d 67 65 74 2d 63 61  test-data-get-ca
1210: 74 65 67 6f 72 79 20 20 20 20 20 20 20 20 20 76  tegory         v
1220: 65 63 29 20 20 20 20 28 76 65 63 74 6f 72 2d 72  ec)    (vector-r
1230: 65 66 20 20 76 65 63 20 32 29 29 0a 28 64 65 66  ef  vec 2)).(def
1240: 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74  ine-inline (db:t
1250: 65 73 74 2d 64 61 74 61 2d 67 65 74 2d 76 61 72  est-data-get-var
1260: 69 61 62 6c 65 20 20 20 20 20 20 20 20 20 76 65  iable         ve
1270: 63 29 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65  c)    (vector-re
1280: 66 20 20 76 65 63 20 33 29 29 0a 28 64 65 66 69  f  vec 3)).(defi
1290: 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65  ne-inline (db:te
12a0: 73 74 2d 64 61 74 61 2d 67 65 74 2d 76 61 6c 75  st-data-get-valu
12b0: 65 20 20 20 20 20 20 20 20 20 20 20 20 76 65 63  e            vec
12c0: 29 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66  )    (vector-ref
12d0: 20 20 76 65 63 20 34 29 29 0a 28 64 65 66 69 6e    vec 4)).(defin
12e0: 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73  e-inline (db:tes
12f0: 74 2d 64 61 74 61 2d 67 65 74 2d 65 78 70 65 63  t-data-get-expec
1300: 74 65 64 20 20 20 20 20 20 20 20 20 76 65 63 29  ted         vec)
1310: 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20      (vector-ref 
1320: 20 76 65 63 20 35 29 29 0a 28 64 65 66 69 6e 65   vec 5)).(define
1330: 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73 74  -inline (db:test
1340: 2d 64 61 74 61 2d 67 65 74 2d 74 6f 6c 20 20 20  -data-get-tol   
1350: 20 20 20 20 20 20 20 20 20 20 20 76 65 63 29 20             vec) 
1360: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 20     (vector-ref  
1370: 76 65 63 20 36 29 29 0a 28 64 65 66 69 6e 65 2d  vec 6)).(define-
1380: 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73 74 2d  inline (db:test-
1390: 64 61 74 61 2d 67 65 74 2d 75 6e 69 74 73 20 20  data-get-units  
13a0: 20 20 20 20 20 20 20 20 20 20 76 65 63 29 20 20            vec)  
13b0: 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 20 76    (vector-ref  v
13c0: 65 63 20 37 29 29 0a 28 64 65 66 69 6e 65 2d 69  ec 7)).(define-i
13d0: 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73 74 2d 64  nline (db:test-d
13e0: 61 74 61 2d 67 65 74 2d 63 6f 6d 6d 65 6e 74 20  ata-get-comment 
13f0: 20 20 20 20 20 20 20 20 20 76 65 63 29 20 20 20           vec)   
1400: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 20 76 65   (vector-ref  ve
1410: 63 20 38 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e  c 8)).(define-in
1420: 6c 69 6e 65 20 28 64 62 3a 74 65 73 74 2d 64 61  line (db:test-da
1430: 74 61 2d 67 65 74 2d 73 74 61 74 75 73 20 20 20  ta-get-status   
1440: 20 20 20 20 20 20 20 20 76 65 63 29 20 20 20 20          vec)    
1450: 28 76 65 63 74 6f 72 2d 72 65 66 20 20 76 65 63  (vector-ref  vec
1460: 20 39 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c   9)).(define-inl
1470: 69 6e 65 20 28 64 62 3a 74 65 73 74 2d 64 61 74  ine (db:test-dat
1480: 61 2d 67 65 74 2d 74 79 70 65 20 20 20 20 20 20  a-get-type      
1490: 20 20 20 20 20 20 20 76 65 63 29 20 20 20 20 28         vec)    (
14a0: 76 65 63 74 6f 72 2d 72 65 66 20 20 76 65 63 20  vector-ref  vec 
14b0: 31 30 29 29 0a 0a 28 64 65 66 69 6e 65 2d 69 6e  10))..(define-in
14c0: 6c 69 6e 65 20 28 64 62 3a 74 65 73 74 2d 64 61  line (db:test-da
14d0: 74 61 2d 73 65 74 2d 69 64 21 20 20 20 20 20 20  ta-set-id!      
14e0: 20 20 20 20 20 20 20 20 76 65 63 20 76 61 6c 29          vec val)
14f0: 28 76 65 63 74 6f 72 2d 73 65 74 21 20 20 76 65  (vector-set!  ve
1500: 63 20 30 20 20 76 61 6c 29 29 0a 28 64 65 66 69  c 0  val)).(defi
1510: 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65  ne-inline (db:te
1520: 73 74 2d 64 61 74 61 2d 73 65 74 2d 74 65 73 74  st-data-set-test
1530: 5f 69 64 21 20 20 20 20 20 20 20 20 20 76 65 63  _id!         vec
1540: 20 76 61 6c 29 28 76 65 63 74 6f 72 2d 73 65 74   val)(vector-set
1550: 21 20 20 76 65 63 20 31 20 20 76 61 6c 29 29 0a  !  vec 1  val)).
1560: 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28  (define-inline (
1570: 64 62 3a 74 65 73 74 2d 64 61 74 61 2d 73 65 74  db:test-data-set
1580: 2d 63 61 74 65 67 6f 72 79 21 20 20 20 20 20 20  -category!      
1590: 20 20 76 65 63 20 76 61 6c 29 28 76 65 63 74 6f    vec val)(vecto
15a0: 72 2d 73 65 74 21 20 20 76 65 63 20 32 20 20 76  r-set!  vec 2  v
15b0: 61 6c 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c  al)).(define-inl
15c0: 69 6e 65 20 28 64 62 3a 74 65 73 74 2d 64 61 74  ine (db:test-dat
15d0: 61 2d 73 65 74 2d 76 61 72 69 61 62 6c 65 21 20  a-set-variable! 
15e0: 20 20 20 20 20 20 20 76 65 63 20 76 61 6c 29 28         vec val)(
15f0: 76 65 63 74 6f 72 2d 73 65 74 21 20 20 76 65 63  vector-set!  vec
1600: 20 33 20 20 76 61 6c 29 29 0a 28 64 65 66 69 6e   3  val)).(defin
1610: 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73  e-inline (db:tes
1620: 74 2d 64 61 74 61 2d 73 65 74 2d 76 61 6c 75 65  t-data-set-value
1630: 21 20 20 20 20 20 20 20 20 20 20 20 76 65 63 20  !           vec 
1640: 76 61 6c 29 28 76 65 63 74 6f 72 2d 73 65 74 21  val)(vector-set!
1650: 20 20 76 65 63 20 34 20 20 76 61 6c 29 29 0a 28    vec 4  val)).(
1660: 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64  define-inline (d
1670: 62 3a 74 65 73 74 2d 64 61 74 61 2d 73 65 74 2d  b:test-data-set-
1680: 65 78 70 65 63 74 65 64 21 20 20 20 20 20 20 20  expected!       
1690: 20 76 65 63 20 76 61 6c 29 28 76 65 63 74 6f 72   vec val)(vector
16a0: 2d 73 65 74 21 20 20 76 65 63 20 35 20 20 76 61  -set!  vec 5  va
16b0: 6c 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69  l)).(define-inli
16c0: 6e 65 20 28 64 62 3a 74 65 73 74 2d 64 61 74 61  ne (db:test-data
16d0: 2d 73 65 74 2d 74 6f 6c 21 20 20 20 20 20 20 20  -set-tol!       
16e0: 20 20 20 20 20 20 76 65 63 20 76 61 6c 29 28 76        vec val)(v
16f0: 65 63 74 6f 72 2d 73 65 74 21 20 20 76 65 63 20  ector-set!  vec 
1700: 36 20 20 76 61 6c 29 29 0a 28 64 65 66 69 6e 65  6  val)).(define
1710: 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73 74  -inline (db:test
1720: 2d 64 61 74 61 2d 73 65 74 2d 75 6e 69 74 73 21  -data-set-units!
1730: 20 20 20 20 20 20 20 20 20 20 20 76 65 63 20 76             vec v
1740: 61 6c 29 28 76 65 63 74 6f 72 2d 73 65 74 21 20  al)(vector-set! 
1750: 20 76 65 63 20 37 20 20 76 61 6c 29 29 0a 28 64   vec 7  val)).(d
1760: 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62  efine-inline (db
1770: 3a 74 65 73 74 2d 64 61 74 61 2d 73 65 74 2d 63  :test-data-set-c
1780: 6f 6d 6d 65 6e 74 21 20 20 20 20 20 20 20 20 20  omment!         
1790: 76 65 63 20 76 61 6c 29 28 76 65 63 74 6f 72 2d  vec val)(vector-
17a0: 73 65 74 21 20 20 76 65 63 20 38 20 20 76 61 6c  set!  vec 8  val
17b0: 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e  )).(define-inlin
17c0: 65 20 28 64 62 3a 74 65 73 74 2d 64 61 74 61 2d  e (db:test-data-
17d0: 73 65 74 2d 73 74 61 74 75 73 21 20 20 20 20 20  set-status!     
17e0: 20 20 20 20 20 76 65 63 20 76 61 6c 29 28 76 65       vec val)(ve
17f0: 63 74 6f 72 2d 73 65 74 21 20 20 76 65 63 20 39  ctor-set!  vec 9
1800: 20 20 76 61 6c 29 29 0a 28 64 65 66 69 6e 65 2d    val)).(define-
1810: 69 6e 6c 69 6e 65 20 28 64 62 3a 74 65 73 74 2d  inline (db:test-
1820: 64 61 74 61 2d 73 65 74 2d 74 79 70 65 21 20 20  data-set-type!  
1830: 20 20 20 20 20 20 20 20 20 20 76 65 63 20 76 61            vec va
1840: 6c 29 28 76 65 63 74 6f 72 2d 73 65 74 21 20 20  l)(vector-set!  
1850: 76 65 63 20 31 30 20 76 61 6c 29 29 0a 0a 3b 3b  vec 10 val))..;;
1860: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
1870: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
1880: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
1890: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
18a0: 3d 3d 3d 3d 3d 3d 0a 3b 3b 20 53 20 54 20 45 20  ======.;; S T E 
18b0: 50 20 53 20 0a 3b 3b 3d 3d 3d 3d 3d 3d 3d 3d 3d  P S .;;=========
18c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
18d0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
18e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
18f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 3b 3b  =============.;;
1900: 20 52 75 6e 20 73 74 65 70 73 0a 3b 3b 20 6d 61   Run steps.;; ma
1910: 6b 65 2d 76 65 63 74 6f 72 2d 72 65 63 6f 72 64  ke-vector-record
1920: 20 22 52 75 6e 20 73 74 65 70 73 22 20 64 62 20   "Run steps" db 
1930: 73 74 65 70 20 69 64 20 74 65 73 74 5f 69 64 20  step id test_id 
1940: 73 74 65 70 6e 61 6d 65 20 73 74 65 70 5f 63 6f  stepname step_co
1950: 6d 70 6c 65 74 65 20 73 74 65 70 5f 70 61 73 73  mplete step_pass
1960: 20 65 76 65 6e 74 5f 74 69 6d 65 20 20 20 20 0a   event_time    .
1970: 28 64 65 66 69 6e 65 20 28 6d 61 6b 65 2d 64 62  (define (make-db
1980: 3a 73 74 65 70 29 28 6d 61 6b 65 2d 76 65 63 74  :step)(make-vect
1990: 6f 72 20 37 29 29 0a 28 64 65 66 69 6e 65 2d 69  or 7)).(define-i
19a0: 6e 6c 69 6e 65 20 28 64 62 3a 73 74 65 70 2d 67  nline (db:step-g
19b0: 65 74 2d 69 64 20 20 20 20 20 20 20 20 20 20 20  et-id           
19c0: 20 20 20 76 65 63 29 20 20 20 20 28 76 65 63 74     vec)    (vect
19d0: 6f 72 2d 72 65 66 20 20 76 65 63 20 30 29 29 0a  or-ref  vec 0)).
19e0: 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28  (define-inline (
19f0: 64 62 3a 73 74 65 70 2d 67 65 74 2d 74 65 73 74  db:step-get-test
1a00: 5f 69 64 20 20 20 20 20 20 20 20 20 76 65 63 29  _id         vec)
1a10: 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20      (vector-ref 
1a20: 20 76 65 63 20 31 29 29 0a 28 64 65 66 69 6e 65   vec 1)).(define
1a30: 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 73 74 65 70  -inline (db:step
1a40: 2d 67 65 74 2d 73 74 65 70 6e 61 6d 65 20 20 20  -get-stepname   
1a50: 20 20 20 20 20 76 65 63 29 20 20 20 20 28 76 65       vec)    (ve
1a60: 63 74 6f 72 2d 72 65 66 20 20 76 65 63 20 32 29  ctor-ref  vec 2)
1a70: 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65  ).(define-inline
1a80: 20 28 64 62 3a 73 74 65 70 2d 67 65 74 2d 73 74   (db:step-get-st
1a90: 61 74 65 20 20 20 20 20 20 20 20 20 20 20 76 65  ate           ve
1aa0: 63 29 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65  c)    (vector-re
1ab0: 66 20 20 76 65 63 20 33 29 29 0a 28 64 65 66 69  f  vec 3)).(defi
1ac0: 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 73 74  ne-inline (db:st
1ad0: 65 70 2d 67 65 74 2d 73 74 61 74 75 73 20 20 20  ep-get-status   
1ae0: 20 20 20 20 20 20 20 76 65 63 29 20 20 20 20 28         vec)    (
1af0: 76 65 63 74 6f 72 2d 72 65 66 20 20 76 65 63 20  vector-ref  vec 
1b00: 34 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69  4)).(define-inli
1b10: 6e 65 20 28 64 62 3a 73 74 65 70 2d 67 65 74 2d  ne (db:step-get-
1b20: 65 76 65 6e 74 5f 74 69 6d 65 20 20 20 20 20 20  event_time      
1b30: 76 65 63 29 20 20 20 20 28 76 65 63 74 6f 72 2d  vec)    (vector-
1b40: 72 65 66 20 20 76 65 63 20 35 29 29 0a 28 64 65  ref  vec 5)).(de
1b50: 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a  fine-inline (db:
1b60: 73 74 65 70 2d 67 65 74 2d 6c 6f 67 66 69 6c 65  step-get-logfile
1b70: 20 20 20 20 20 20 20 20 20 76 65 63 29 20 20 20           vec)   
1b80: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 20 76 65   (vector-ref  ve
1b90: 63 20 36 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e  c 6)).(define-in
1ba0: 6c 69 6e 65 20 28 64 62 3a 73 74 65 70 2d 73 65  line (db:step-se
1bb0: 74 2d 69 64 21 20 20 20 20 20 20 20 20 20 20 20  t-id!           
1bc0: 20 20 76 65 63 20 76 61 6c 29 28 76 65 63 74 6f    vec val)(vecto
1bd0: 72 2d 73 65 74 21 20 76 65 63 20 30 20 76 61 6c  r-set! vec 0 val
1be0: 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e  )).(define-inlin
1bf0: 65 20 28 64 62 3a 73 74 65 70 2d 73 65 74 2d 74  e (db:step-set-t
1c00: 65 73 74 5f 69 64 21 20 20 20 20 20 20 20 20 76  est_id!        v
1c10: 65 63 20 76 61 6c 29 28 76 65 63 74 6f 72 2d 73  ec val)(vector-s
1c20: 65 74 21 20 76 65 63 20 31 20 76 61 6c 29 29 0a  et! vec 1 val)).
1c30: 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28  (define-inline (
1c40: 64 62 3a 73 74 65 70 2d 73 65 74 2d 73 74 65 70  db:step-set-step
1c50: 6e 61 6d 65 21 20 20 20 20 20 20 20 76 65 63 20  name!       vec 
1c60: 76 61 6c 29 28 76 65 63 74 6f 72 2d 73 65 74 21  val)(vector-set!
1c70: 20 76 65 63 20 32 20 76 61 6c 29 29 0a 28 64 65   vec 2 val)).(de
1c80: 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a  fine-inline (db:
1c90: 73 74 65 70 2d 73 65 74 2d 73 74 61 74 65 21 20  step-set-state! 
1ca0: 20 20 20 20 20 20 20 20 20 76 65 63 20 76 61 6c           vec val
1cb0: 29 28 76 65 63 74 6f 72 2d 73 65 74 21 20 76 65  )(vector-set! ve
1cc0: 63 20 33 20 76 61 6c 29 29 0a 28 64 65 66 69 6e  c 3 val)).(defin
1cd0: 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 73 74 65  e-inline (db:ste
1ce0: 70 2d 73 65 74 2d 73 74 61 74 75 73 21 20 20 20  p-set-status!   
1cf0: 20 20 20 20 20 20 76 65 63 20 76 61 6c 29 28 76        vec val)(v
1d00: 65 63 74 6f 72 2d 73 65 74 21 20 76 65 63 20 34  ector-set! vec 4
1d10: 20 76 61 6c 29 29 0a 28 64 65 66 69 6e 65 2d 69   val)).(define-i
1d20: 6e 6c 69 6e 65 20 28 64 62 3a 73 74 65 70 2d 73  nline (db:step-s
1d30: 65 74 2d 65 76 65 6e 74 5f 74 69 6d 65 21 20 20  et-event_time!  
1d40: 20 20 20 76 65 63 20 76 61 6c 29 28 76 65 63 74     vec val)(vect
1d50: 6f 72 2d 73 65 74 21 20 76 65 63 20 35 20 76 61  or-set! vec 5 va
1d60: 6c 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69  l)).(define-inli
1d70: 6e 65 20 28 64 62 3a 73 74 65 70 2d 73 65 74 2d  ne (db:step-set-
1d80: 6c 6f 67 66 69 6c 65 21 20 20 20 20 20 20 20 20  logfile!        
1d90: 76 65 63 20 76 61 6c 29 28 76 65 63 74 6f 72 2d  vec val)(vector-
1da0: 73 65 74 21 20 76 65 63 20 36 20 76 61 6c 29 29  set! vec 6 val))
1db0: 0a 0a 0a 3b 3b 20 54 68 65 20 73 74 65 70 73 20  ...;; The steps 
1dc0: 74 61 62 6c 65 0a 28 64 65 66 69 6e 65 20 28 6d  table.(define (m
1dd0: 61 6b 65 2d 64 62 3a 73 74 65 70 73 2d 74 61 62  ake-db:steps-tab
1de0: 6c 65 29 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20  le)(make-vector 
1df0: 35 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69  5)).(define-inli
1e00: 6e 65 20 28 64 62 3a 73 74 65 70 73 2d 74 61 62  ne (db:steps-tab
1e10: 6c 65 2d 67 65 74 2d 73 74 65 70 6e 61 6d 65 20  le-get-stepname 
1e20: 20 20 76 65 63 29 20 20 20 20 28 76 65 63 74 6f    vec)    (vecto
1e30: 72 2d 72 65 66 20 20 76 65 63 20 30 29 29 0a 28  r-ref  vec 0)).(
1e40: 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 64  define-inline (d
1e50: 62 3a 73 74 65 70 73 2d 74 61 62 6c 65 2d 67 65  b:steps-table-ge
1e60: 74 2d 73 74 61 72 74 20 20 20 20 20 20 76 65 63  t-start      vec
1e70: 29 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66  )    (vector-ref
1e80: 20 20 76 65 63 20 31 29 29 0a 28 64 65 66 69 6e    vec 1)).(defin
1e90: 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 73 74 65  e-inline (db:ste
1ea0: 70 73 2d 74 61 62 6c 65 2d 67 65 74 2d 65 6e 64  ps-table-get-end
1eb0: 20 20 20 20 20 20 20 20 76 65 63 29 20 20 20 20          vec)    
1ec0: 28 76 65 63 74 6f 72 2d 72 65 66 20 20 76 65 63  (vector-ref  vec
1ed0: 20 32 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c   2)).(define-inl
1ee0: 69 6e 65 20 28 64 62 3a 73 74 65 70 73 2d 74 61  ine (db:steps-ta
1ef0: 62 6c 65 2d 67 65 74 2d 73 74 61 74 75 73 20 20  ble-get-status  
1f00: 20 20 20 76 65 63 29 20 20 20 20 28 76 65 63 74     vec)    (vect
1f10: 6f 72 2d 72 65 66 20 20 76 65 63 20 33 29 29 0a  or-ref  vec 3)).
1f20: 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28  (define-inline (
1f30: 64 62 3a 73 74 65 70 73 2d 74 61 62 6c 65 2d 67  db:steps-table-g
1f40: 65 74 2d 72 75 6e 74 69 6d 65 20 20 20 20 76 65  et-runtime    ve
1f50: 63 29 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65  c)    (vector-re
1f60: 66 20 20 76 65 63 20 34 29 29 0a 28 64 65 66 69  f  vec 4)).(defi
1f70: 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 73 74  ne-inline (db:st
1f80: 65 70 2d 73 74 61 62 6c 65 2d 73 65 74 2d 73 74  ep-stable-set-st
1f90: 65 70 6e 61 6d 65 21 20 20 76 65 63 20 76 61 6c  epname!  vec val
1fa0: 29 28 76 65 63 74 6f 72 2d 73 65 74 21 20 76 65  )(vector-set! ve
1fb0: 63 20 30 20 76 61 6c 29 29 0a 28 64 65 66 69 6e  c 0 val)).(defin
1fc0: 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 73 74 65  e-inline (db:ste
1fd0: 70 2d 73 74 61 62 6c 65 2d 73 65 74 2d 73 74 61  p-stable-set-sta
1fe0: 72 74 21 20 20 20 20 20 76 65 63 20 76 61 6c 29  rt!     vec val)
1ff0: 28 76 65 63 74 6f 72 2d 73 65 74 21 20 76 65 63  (vector-set! vec
2000: 20 31 20 76 61 6c 29 29 0a 28 64 65 66 69 6e 65   1 val)).(define
2010: 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 73 74 65 70  -inline (db:step
2020: 2d 73 74 61 62 6c 65 2d 73 65 74 2d 65 6e 64 21  -stable-set-end!
2030: 20 20 20 20 20 20 20 76 65 63 20 76 61 6c 29 28         vec val)(
2040: 76 65 63 74 6f 72 2d 73 65 74 21 20 76 65 63 20  vector-set! vec 
2050: 32 20 76 61 6c 29 29 0a 28 64 65 66 69 6e 65 2d  2 val)).(define-
2060: 69 6e 6c 69 6e 65 20 28 64 62 3a 73 74 65 70 2d  inline (db:step-
2070: 73 74 61 62 6c 65 2d 73 65 74 2d 73 74 61 74 75  stable-set-statu
2080: 73 21 20 20 20 20 76 65 63 20 76 61 6c 29 28 76  s!    vec val)(v
2090: 65 63 74 6f 72 2d 73 65 74 21 20 76 65 63 20 33  ector-set! vec 3
20a0: 20 76 61 6c 29 29 0a 28 64 65 66 69 6e 65 2d 69   val)).(define-i
20b0: 6e 6c 69 6e 65 20 28 64 62 3a 73 74 65 70 2d 73  nline (db:step-s
20c0: 74 61 62 6c 65 2d 73 65 74 2d 72 75 6e 74 69 6d  table-set-runtim
20d0: 65 21 20 20 20 76 65 63 20 76 61 6c 29 28 76 65  e!   vec val)(ve
20e0: 63 74 6f 72 2d 73 65 74 21 20 76 65 63 20 34 20  ctor-set! vec 4 
20f0: 76 61 6c 29 29 0a 0a 3b 3b 20 75 73 65 20 74 68  val))..;; use th
2100: 69 73 20 6f 6e 65 20 66 6f 72 20 64 62 2d 67 65  is one for db-ge
2110: 74 2d 72 75 6e 2d 69 6e 66 6f 0a 28 64 65 66 69  t-run-info.(defi
2120: 6e 65 2d 69 6e 6c 69 6e 65 20 28 64 62 3a 67 65  ne-inline (db:ge
2130: 74 2d 72 6f 77 20 20 20 20 76 65 63 29 28 76 65  t-row    vec)(ve
2140: 63 74 6f 72 2d 72 65 66 20 76 65 63 20 31 29 29  ctor-ref vec 1))
2150: 0a 0a 3b 3b 20 54 68 65 20 64 61 74 61 20 73 74  ..;; The data st
2160: 72 75 63 74 75 72 65 20 66 6f 72 20 68 61 6e 64  ructure for hand
2170: 69 6e 67 20 6f 66 66 20 72 65 71 75 65 73 74 73  ing off requests
2180: 20 76 69 61 20 77 69 72 65 0a 28 64 65 66 69 6e   via wire.(defin
2190: 65 20 28 6d 61 6b 65 2d 63 64 62 3a 70 61 63 6b  e (make-cdb:pack
21a0: 65 74 29 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20  et)(make-vector 
21b0: 36 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69  6)).(define-inli
21c0: 6e 65 20 28 63 64 62 3a 70 61 63 6b 65 74 2d 67  ne (cdb:packet-g
21d0: 65 74 2d 63 6c 69 65 6e 74 2d 73 69 67 20 20 20  et-client-sig   
21e0: 76 65 63 29 20 20 20 20 28 76 65 63 74 6f 72 2d  vec)    (vector-
21f0: 72 65 66 20 20 76 65 63 20 30 29 29 0a 28 64 65  ref  vec 0)).(de
2200: 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 63 64 62  fine-inline (cdb
2210: 3a 70 61 63 6b 65 74 2d 67 65 74 2d 71 74 79 70  :packet-get-qtyp
2220: 65 20 20 20 20 20 20 20 20 76 65 63 29 20 20 20  e        vec)   
2230: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 20 76 65   (vector-ref  ve
2240: 63 20 31 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e  c 1)).(define-in
2250: 6c 69 6e 65 20 28 63 64 62 3a 70 61 63 6b 65 74  line (cdb:packet
2260: 2d 67 65 74 2d 69 6d 6d 65 64 69 61 74 65 20 20  -get-immediate  
2270: 20 20 76 65 63 29 20 20 20 20 28 76 65 63 74 6f    vec)    (vecto
2280: 72 2d 72 65 66 20 20 76 65 63 20 32 29 29 0a 28  r-ref  vec 2)).(
2290: 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 63  define-inline (c
22a0: 64 62 3a 70 61 63 6b 65 74 2d 67 65 74 2d 71 75  db:packet-get-qu
22b0: 65 72 79 2d 73 69 67 20 20 20 20 76 65 63 29 20  ery-sig    vec) 
22c0: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 20     (vector-ref  
22d0: 76 65 63 20 33 29 29 0a 28 64 65 66 69 6e 65 2d  vec 3)).(define-
22e0: 69 6e 6c 69 6e 65 20 28 63 64 62 3a 70 61 63 6b  inline (cdb:pack
22f0: 65 74 2d 67 65 74 2d 70 61 72 61 6d 73 20 20 20  et-get-params   
2300: 20 20 20 20 76 65 63 29 20 20 20 20 28 76 65 63      vec)    (vec
2310: 74 6f 72 2d 72 65 66 20 20 76 65 63 20 34 29 29  tor-ref  vec 4))
2320: 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20  .(define-inline 
2330: 28 63 64 62 3a 70 61 63 6b 65 74 2d 67 65 74 2d  (cdb:packet-get-
2340: 71 74 69 6d 65 20 20 20 20 20 20 20 20 76 65 63  qtime        vec
2350: 29 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66  )    (vector-ref
2360: 20 20 76 65 63 20 35 29 29 0a 28 64 65 66 69 6e    vec 5)).(defin
2370: 65 2d 69 6e 6c 69 6e 65 20 28 63 64 62 3a 70 61  e-inline (cdb:pa
2380: 63 6b 65 74 2d 73 65 74 2d 63 6c 69 65 6e 74 2d  cket-set-client-
2390: 73 69 67 21 20 20 76 65 63 20 76 61 6c 29 28 76  sig!  vec val)(v
23a0: 65 63 74 6f 72 2d 73 65 74 21 20 76 65 63 20 30  ector-set! vec 0
23b0: 20 76 61 6c 29 29 0a 28 64 65 66 69 6e 65 2d 69   val)).(define-i
23c0: 6e 6c 69 6e 65 20 28 63 64 62 3a 70 61 63 6b 65  nline (cdb:packe
23d0: 74 2d 73 65 74 2d 71 74 79 70 65 21 20 20 20 20  t-set-qtype!    
23e0: 20 20 20 76 65 63 20 76 61 6c 29 28 76 65 63 74     vec val)(vect
23f0: 6f 72 2d 73 65 74 21 20 76 65 63 20 31 20 76 61  or-set! vec 1 va
2400: 6c 29 29 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69  l)).(define-inli
2410: 6e 65 20 28 63 64 62 3a 70 61 63 6b 65 74 2d 73  ne (cdb:packet-s
2420: 65 74 2d 69 6d 6d 65 64 69 61 74 65 21 20 20 20  et-immediate!   
2430: 76 65 63 20 76 61 6c 29 28 76 65 63 74 6f 72 2d  vec val)(vector-
2440: 73 65 74 21 20 76 65 63 20 32 20 76 61 6c 29 29  set! vec 2 val))
2450: 0a 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20  .(define-inline 
2460: 28 63 64 62 3a 70 61 63 6b 65 74 2d 73 65 74 2d  (cdb:packet-set-
2470: 71 75 65 72 79 2d 73 69 67 21 20 20 20 76 65 63  query-sig!   vec
2480: 20 76 61 6c 29 28 76 65 63 74 6f 72 2d 73 65 74   val)(vector-set
2490: 21 20 76 65 63 20 33 20 76 61 6c 29 29 0a 28 64  ! vec 3 val)).(d
24a0: 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 63 64  efine-inline (cd
24b0: 62 3a 70 61 63 6b 65 74 2d 73 65 74 2d 70 61 72  b:packet-set-par
24c0: 61 6d 73 21 20 20 20 20 20 20 76 65 63 20 76 61  ams!      vec va
24d0: 6c 29 28 76 65 63 74 6f 72 2d 73 65 74 21 20 76  l)(vector-set! v
24e0: 65 63 20 34 20 76 61 6c 29 29 0a 28 64 65 66 69  ec 4 val)).(defi
24f0: 6e 65 2d 69 6e 6c 69 6e 65 20 28 63 64 62 3a 70  ne-inline (cdb:p
2500: 61 63 6b 65 74 2d 73 65 74 2d 71 74 69 6d 65 21  acket-set-qtime!
2510: 20 20 20 20 20 20 20 76 65 63 20 76 61 6c 29 28         vec val)(
2520: 76 65 63 74 6f 72 2d 73 65 74 21 20 76 65 63 20  vector-set! vec 
2530: 35 20 76 61 6c 29 29 0a                          5 val)).