@@ -17,17 +17,17 @@ #f ;; the global string db (use for state, status etc.) path ;; path to database files/megatest area local)) ;; read-only local access ;; get and set main db -(define-inline (dbr:dbstruct-get-main vec) (vector-ref vec 0)) +(define-inline (dbr:dbstruct-get-main vec) (vector-ref vec 0)) (define-inline (dbr:dbstruct-set-main! vec db)(vector-set! vec 0 db)) ;; get a rundb vector (define (dbr:dbstruct-get-rundb-rec vec run-id) (let* ((dbhash (vector-ref vec 1)) - (runvec (hash-table-ref/default dbhash run-id))) + (runvec (hash-table-ref/default dbhash run-id #f))) (if runvec runvec (begin (hash-table-set! dbhash run-id (vector #f #f -1 -1 -1 #f)) (dbr:dbstruct-get-rundb-rec vec run-id))))) @@ -50,11 +50,11 @@ ;; (vector-set! runvec (dbr:dbstruct-field-name->num 'inuse) #t) (vector-ref runvec fieldnum))) (define (dbr:dbstruct-set-runvec! vec run-id field-name val) (let ((runvec (dbr:dbstruct-get-rundb-rec vec run-id))) - (vector-set! runvec (dbr:dbstruct-field-name->num field-name) rundb))) + (vector-set! runvec (dbr:dbstruct-field-name->num field-name) runvec))) ;; get/set inmemdb (define (dbr:dbstruct-get-inmemdb vec run-id) (let ((runvec (dbr:dbstruct-get-rundb-rec vec run-id))) (vector-ref runvec 1)))