Overview
Comment: | sync-inmem fixes |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.6584-nanomsg |
Files: | files | file ages | folders |
SHA1: |
38fe57c824db9d892e64af05314a2113 |
User & Date: | matt on 2021-06-15 05:37:21 |
Other Links: | branch diff | manifest | tags |
Context
2021-06-18
| ||
05:05 | Removed need for watchdog check-in: b1c8817ecf user: matt tags: v1.6584-nanomsg | |
2021-06-15
| ||
05:37 | sync-inmem fixes check-in: 38fe57c824 user: matt tags: v1.6584-nanomsg | |
05:19 | wip check-in: 17e7810cad user: matt tags: v1.6584-nanomsg | |
Changes
Modified dbmod.scm from [b18980d578] to [2a89ecc16d].
︙ | ︙ | |||
421 422 423 424 425 426 427 | (db (dbr:dbdat-db dbdat)) (inmem (dbr:dbdat-inmem dbdat)) (start-t (current-seconds)) (last-update (dbr:dbdat-last-write dbdat)) (last-sync (dbr:dbdat-last-sync dbdat))) (debug:print-info 0 *default-log-port* "Syncing for dbfile: "dbfile", last-update: "last-update", last-sync: "last-sync) (mutex-lock! *db-multi-sync-mutex*) | | | 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 | (db (dbr:dbdat-db dbdat)) (inmem (dbr:dbdat-inmem dbdat)) (start-t (current-seconds)) (last-update (dbr:dbdat-last-write dbdat)) (last-sync (dbr:dbdat-last-sync dbdat))) (debug:print-info 0 *default-log-port* "Syncing for dbfile: "dbfile", last-update: "last-update", last-sync: "last-sync) (mutex-lock! *db-multi-sync-mutex*) (let* ((update_info (cons "last_update" (if force-sync 0 last-update))) ;; "last_update")) (need-sync (or force-sync (>= last-update last-sync)))) (if need-sync (begin (db:sync-tables (db:sync-all-tables-list) update_info inmem db) (dbr:dbdat-last-sync-set! dbdat start-t)) (debug:print 0 *default-log-port* "Skipping sync as nothing touched."))) (mutex-unlock! *db-multi-sync-mutex*))) |
︙ | ︙ | |||
648 649 650 651 652 653 654 | (define (db:sync-one-table fromdb todb tabledat last-update numrecs) (let* ((tablename (car tabledat)) (fields (cdr tabledat)) (has-last-update (member "last_update" fields)) (use-last-update (cond ((and has-last-update | | < > > > > | 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 | (define (db:sync-one-table fromdb todb tabledat last-update numrecs) (let* ((tablename (car tabledat)) (fields (cdr tabledat)) (has-last-update (member "last_update" fields)) (use-last-update (cond ((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 (if (number? last-update) |
︙ | ︙ |