ks-close added.
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
)
|
||||
|
||||
(provide ks-open
|
||||
ks-close
|
||||
ks-set!
|
||||
ks-get
|
||||
ks-drop!
|
||||
@@ -24,6 +25,12 @@
|
||||
#:transparent
|
||||
)
|
||||
|
||||
(define keystore*? keystore?)
|
||||
(set! keystore? (λ (ks)
|
||||
(and (keystore*? ks)
|
||||
(connection? (keystore-dbh ks))
|
||||
(connected? (keystore-dbh ks)))))
|
||||
|
||||
(define/contract (ks-open file)
|
||||
(-> (or/c path? string? symbol?) keystore?)
|
||||
(let ((path (if (symbol? file)
|
||||
@@ -34,6 +41,12 @@
|
||||
(query-exec dbh "CREATE INDEX IF NOT EXISTS keystore_idx on keystore(str_key);")
|
||||
(make-keystore file path dbh))))
|
||||
|
||||
(define/contract (ks-close ksh)
|
||||
(-> keystore? boolean?)
|
||||
(let ((dbh (keystore-dbh ksh)))
|
||||
(disconnect dbh)
|
||||
#t))
|
||||
|
||||
(define/contract (ks-set! ksh key value)
|
||||
(-> keystore? any/c any/c boolean?)
|
||||
(ks-set!* (keystore-dbh ksh) (value->string key) (format "~a" key) (value->string value)))
|
||||
|
||||
Reference in New Issue
Block a user