diff options
author | Christopher Baines <mail@cbaines.net> | 2020-07-03 09:17:14 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-07-03 09:21:22 +0100 |
commit | 8bb64fd8f5479a4d3e7f6689340ef43c5da88d53 (patch) | |
tree | fff538525a3a4f118605685e4bd8a3d971696c2d | |
parent | 8a7e7b537eeb99e341917b14af87146cf74f96fe (diff) | |
download | build-coordinator-8bb64fd8f5479a4d3e7f6689340ef43c5da88d53.tar build-coordinator-8bb64fd8f5479a4d3e7f6689340ef43c5da88d53.tar.gz |
Add datastore-find-build-derivation-system
-rw-r--r-- | guix-build-coordinator/datastore.scm | 1 | ||||
-rw-r--r-- | guix-build-coordinator/datastore/sqlite.scm | 27 |
2 files changed, 28 insertions, 0 deletions
diff --git a/guix-build-coordinator/datastore.scm b/guix-build-coordinator/datastore.scm index 547d56b..1c3a458 100644 --- a/guix-build-coordinator/datastore.scm +++ b/guix-build-coordinator/datastore.scm @@ -35,6 +35,7 @@ (re-export datastore-for-each-build) (re-export datastore-find-build) (re-export datastore-find-build-result) +(re-export datastore-find-build-derivation-system) (re-export datastore-list-builds-for-derivation) (re-export datastore-list-processed-builds) (re-export datastore-list-unprocessed-builds) diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm index c1a0836..960b49c 100644 --- a/guix-build-coordinator/datastore/sqlite.scm +++ b/guix-build-coordinator/datastore/sqlite.scm @@ -21,6 +21,7 @@ datastore-for-each-build datastore-find-build datastore-find-build-result + datastore-find-build-derivation-system datastore-list-builds-for-derivation datastore-count-build-results datastore-store-build-result @@ -903,6 +904,32 @@ WHERE build_id = :build_id"))) result))))) +(define-method (datastore-find-build-derivation-system + (datastore <sqlite-datastore>) + build-id) + (call-with-worker-thread + (slot-ref datastore 'worker-reader-thread-channel) + (lambda (db) + (let ((statement + (sqlite-prepare + db + " +SELECT derivations.system +FROM builds +INNER JOIN derivations ON builds.derivation_name = derivations.name +WHERE builds.uuid = :build_id"))) + + (sqlite-bind-arguments + statement + #:build_id build-id) + + (let ((system + (match (sqlite-step statement) + (#(system) system)))) + (sqlite-reset statement) + + system))))) + (define-method (datastore-list-builds-for-output (datastore <sqlite-datastore>) output) |