Use member id as primary key.

This commit is contained in:
Dominik Pantůček 2023-03-16 11:28:38 +01:00
parent 77204b80e4
commit a38992edf7
2 changed files with 12 additions and 7 deletions

View file

@ -69,6 +69,7 @@
;; Load the members database (required for everything anyway)
(define MB (load-members "members" #t))
(print MB)
;; ...
(void)

View file

@ -141,10 +141,14 @@
(define (members-base-load-member mdir fname symlinks)
(let* ((mr0 (make-dict))
(mr-fn (dict-set mr0 'file-name fname))
(mr-sl (dict-set mr-fn 'symlinks symlinks)))
(dict-set mr-sl 'info
(mr-sl (dict-set mr-fn 'symlinks symlinks))
(mr-id (dict-set mr-sl 'id
(string->number
(symbol->string
(get-4digit-symbol-from-list (cons fname symlinks)))))))
(dict-set mr-id 'info
(load-member-file
(make-pathname mdir fname)))))
(make-pathname mdir (symbol->string fname))))))
;; Loads members database, if the second argument is true, shows
;; progress. Members database is a dictionary with id being the key
@ -162,16 +166,16 @@
(when progress?
(display "."))
(members-base-load-member dn
(symbol->string symfn)
symfn
symlinks))
fss))
(mb (dict-reduce (make-dict)
(lambda (acc key val)
#f)
(lambda (acc symfn mr)
(dict-set acc (dict-ref mr 'id) mr))
mb0)))
(when progress?
(print " ok."))
mb0)))
mb)))
(define (find-member-by-id mb id)
#f)