250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
|
(db:with-lock-db dbfile
(lambda (dbh dbfile)
(db:get-iam-server-lock dbh dbfile))))
(define (db:with-lock-db dbfile proc)
(let* ((dbh (db:open-run-db dbfile db:initialize-db))
(res (proc dbh dbfile)))
(sqlite3:finalize! dbh)
res))
;; called before db is open?
;;
(define (db:get-iam-server-lock dbh dbfname)
(sqlite3:with-transaction
dbh
|
|
|
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
|
(db:with-lock-db dbfile
(lambda (dbh dbfile)
(db:get-iam-server-lock dbh dbfile))))
(define (db:with-lock-db dbfile proc)
(let* ((dbh (db:open-run-db dbfile db:initialize-db))
(res (proc dbh dbfile)))
;; (sqlite3:finalize! dbh)
res))
;; called before db is open?
;;
(define (db:get-iam-server-lock dbh dbfname)
(sqlite3:with-transaction
dbh
|
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
|
((and has-last-update
(number? last-update))
#t) ;; if given a number, just use it for all fields
((and (pair? last-update)
(member (car last-update) ;; last-update field name
(map car fields)))
#t)
((pair? last-update)
(debug:print 0 *default-log-port* "ERROR: parameter last-update malformed. last-update="last-update)
#f)
((number? last-update) #f) ;; if not matched first entry then ignore last-update for this table
(last-update
(debug:print 0 *default-log-port* "ERROR: parameter last-update for db:sync-tables must be a pair or a number, received: " last-update);; found in fields
#f)
(else
#f)))
(last-update-value (if use-last-update ;; no need to check for has-last-update - it is already accounted for
|
|
>
>
>
>
|
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
|
((and has-last-update
(number? last-update))
#t) ;; if given a number, just use it for all fields
((and (pair? last-update)
(member (car last-update) ;; last-update field name
(map car fields)))
#t)
((and (pair? last-update)
(not (number? (cdr last-update))))
(debug:print 0 *default-log-port* "ERROR: parameter last-update malformed. last-update="last-update)
#f)
((and (pair? last-update)
(string? (car last-update))) ;; valid format, field not recognised
#f)
((number? last-update) #f) ;; if not matched first entry then ignore last-update for this table
(last-update
(debug:print 0 *default-log-port* "ERROR: parameter last-update for db:sync-tables must be a pair or a number, received: " last-update);; found in fields
#f)
(else
#f)))
(last-update-value (if use-last-update ;; no need to check for has-last-update - it is already accounted for
|