240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
|
(set! *dbfile:num-handles-in-use* (+ *dbfile:num-handles-in-use* 1))
(stack-pop! (dbr:subdb-dbstack subdb))))))
;; return a previously opened db handle to the stack of available handles
(define (dbfile:add-dbdat dbstruct run-id dbdat)
(let* ((subdb (dbfile:get-subdb dbstruct run-id))
(age (- (current-seconds)(dbr:dbdat-birth-sec dbdat))))
(if (> age 300) ;; just testing - discard and close after 30 sec
(begin
;; (map sqlite3:finalize! (hash-table-values (dbr:dbdat-stmt-cache dbdat)))
;; (sqlite3:finalize! (dbr:dbdat-dbh dbdat))
(dbfile:print-err "INFO: Discarded dbdat over 30 sec old ("age"s)"))
(begin
(set! *dbfile:num-handles-in-use* (- *dbfile:num-handles-in-use* 1))
(stack-push! (dbr:subdb-dbstack subdb) dbdat)))))
|
|
|
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
|
(set! *dbfile:num-handles-in-use* (+ *dbfile:num-handles-in-use* 1))
(stack-pop! (dbr:subdb-dbstack subdb))))))
;; return a previously opened db handle to the stack of available handles
(define (dbfile:add-dbdat dbstruct run-id dbdat)
(let* ((subdb (dbfile:get-subdb dbstruct run-id))
(age (- (current-seconds)(dbr:dbdat-birth-sec dbdat))))
(if #f ;; (> age 300) ;; just testing - discard and close after 30 sec
(begin
;; (map sqlite3:finalize! (hash-table-values (dbr:dbdat-stmt-cache dbdat)))
;; (sqlite3:finalize! (dbr:dbdat-dbh dbdat))
(dbfile:print-err "INFO: Discarded dbdat over 30 sec old ("age"s)"))
(begin
(set! *dbfile:num-handles-in-use* (- *dbfile:num-handles-in-use* 1))
(stack-push! (dbr:subdb-dbstack subdb) dbdat)))))
|