Attempt to avoid issues with the guix-daemon WAL
This commit is contained in:
parent
5f80856ad1
commit
7d1cc4d325
2 changed files with 30 additions and 0 deletions
|
|
@ -38,6 +38,8 @@
|
|||
|
||||
check-test-database!
|
||||
|
||||
lock-advisory-session-lock
|
||||
unlock-advisory-session-lock
|
||||
with-advisory-session-lock
|
||||
with-advisory-session-lock/log-time
|
||||
obtain-advisory-transaction-lock
|
||||
|
|
@ -282,6 +284,23 @@
|
|||
(unless (string=? name "guix_data_service_test")
|
||||
(error "tests being run against non test database")))))
|
||||
|
||||
(define (lock-advisory-session-lock conn lock)
|
||||
(let ((lock-number (symbol-hash lock)))
|
||||
(exec-query conn
|
||||
"SELECT pg_advisory_lock($1)"
|
||||
(list (number->string lock-number)))
|
||||
lock-number))
|
||||
|
||||
(define (unlock-advisory-session-lock conn lock)
|
||||
(let ((lock-number
|
||||
(if (number? lock)
|
||||
lock
|
||||
(symbol-hash lock))))
|
||||
(exec-query conn
|
||||
"SELECT pg_advisory_lock($1)"
|
||||
(list (number->string lock-number))))
|
||||
#t)
|
||||
|
||||
(define (with-advisory-session-lock conn lock f)
|
||||
(let ((lock-number (number->string (symbol-hash lock))))
|
||||
(exec-query conn
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue