Index: db.scm
==================================================================
--- db.scm
+++ db.scm
@@ -175,11 +175,11 @@
 ;; 	      newdb)
 ;;           (stack-pop! (dbr:subdb-dbstack subdb)))
 ;; 	(db:open-db subdb run-id))) ;; )
 
 
-(define (db:get-db dbstruct run-id) 
+#;(define (db:get-db dbstruct run-id) 
    (let* ((subdb (dbfile:get-subdb dbstruct run-id))
         (dbdat (dbfile:get-dbdat dbstruct run-id)))
         (if (dbr:dbdat? dbdat)
           dbdat
           (dbfile:open-db *dbstruct-dbs* #f db:initialize-main-db)
@@ -1077,17 +1077,16 @@
 
 
 
 
 (define (db:all-db-sync dbstruct)
-  (db:open-db dbstruct #f)
-  (let* ((data-synced 0) ;; count of changed records
+  (let* ((dbdat (db:open-db dbstruct #f))
+	 (data-synced       0) ;; count of changed records
     (tmp-area       (common:get-db-tmp-area))
     (dbfiles        (glob (conc tmp-area"/.db/*.db")))
     (sync-durations (make-hash-table))
-    (no-sync-db        (db:open-no-sync-db))
-    )
+    (no-sync-db        (db:open-no-sync-db)))
     (for-each
      (lambda (file)
        (debug:print-info 3 *default-log-port* "file: " file)
        (let* ((fname (conc (pathname-file file) ".db"))
 	      (fulln (conc *toppath*"/.db/"fname))
@@ -1116,28 +1115,21 @@
 	 (if do-cp
 	     (let* ((start-time (current-milliseconds))
               (fname (pathname-file file))
               (runid (if (string= fname "main") #f (string->number fname)))
               )
-	       (debug:print-info 3 *default-log-port* "db:all-db-sync: fname: " fname", delta: " (- time1 time2) " seconds")
-
+	       (debug:print-info 3 *default-log-port* "db:all-db-sync: fname: "
+				 fname", delta: " (- time1 time2) " seconds")
 	       (db:lock-and-delta-sync no-sync-db dbstruct fname runid)
-	       (hash-table-set! sync-durations (conc fname".db") (- (current-milliseconds) start-time)))
+	       (hash-table-set! sync-durations (conc fname".db")
+				(- (current-milliseconds) start-time)))
 	     (debug:print-info 3 *default-log-port* "skipping sync. " file " is up to date")
-         )
-       )
-     )
+         )))
      dbfiles
-    )
-  )
-   #t
-)
-
-
-
-
-
+     )
+    (if dbdat (dbfile:add-dbdat dbstruct #f dbdat)))
+  #t)
 
 ;; options:
 ;;
 ;;  'killservers  - kills all servers
 ;;  'dejunk       - removes junk records
@@ -1147,19 +1139,15 @@
 ;;  'closeall     - close all opened dbs
 ;;  'schema       - attempt to apply schema changes
 ;;  run-ids: '(1 2 3 ...) or #f (for all)
 ;;
 (define (db:multi-db-sync dbstruct . options)
-
-  (db:open-db dbstruct #f)
-
-  (let* ((data-synced 0) ;; count of changed records
+  (let* ((dbdat       (db:open-db dbstruct #f))
+	 (data-synced 0) ;; count of changed records
     (tmp-area       (common:get-db-tmp-area))
     (dbfiles        (glob (conc tmp-area"/.db/*.db")))
-    (sync-durations (make-hash-table))
-    )
-
+    (sync-durations (make-hash-table)))
     (for-each
      (lambda (file)
        (debug:print-info 0 *default-log-port* "file: " file)
        (let* ((fname (conc (pathname-file file) ".db"))
 	      (fulln (conc *toppath*"/.db/"fname))
@@ -1267,10 +1255,11 @@
                )
               )
 	    (stack-push! (dbr:subdb-dbstack subdb) main-tmpdb))
 	  options)))
      (hash-table-values (dbr:dbstruct-subdbs dbstruct)))
+    (if dbdat (dbfile:add-dbdat dbstruct #f dbdat))
     data-synced)
 )
 
 ;; Sync all changed db's
 ;;