diff options
author | Christopher Baines <mail@cbaines.net> | 2019-05-14 07:55:17 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2019-05-14 07:55:17 +0100 |
commit | 28c2d4608149b55d7547eab563e688814f3d7254 (patch) | |
tree | 8cf29d257f2fddd577b775aa44313cea9114ebb5 | |
parent | 721d21ed4dfb09ea8cc6d2f5c1bdf6cd515f383e (diff) | |
download | data-service-28c2d4608149b55d7547eab563e688814f3d7254.tar data-service-28c2d4608149b55d7547eab563e688814f3d7254.tar.gz |
Fix type issues with the location ids
On one code path, they were handled as numbers, whereas elsewhere they were
handled as strings. This led to the package-metadata code trying to insert
duplicate entries.
Instead, just handle them as strings everywhere.
-rw-r--r-- | guix-data-service/model/location.scm | 16 | ||||
-rw-r--r-- | guix-data-service/model/package-metadata.scm | 2 | ||||
-rw-r--r-- | tests/model-package-metadata.scm | 12 |
3 files changed, 20 insertions, 10 deletions
diff --git a/guix-data-service/model/location.scm b/guix-data-service/model/location.scm index 1a01b9a..9850377 100644 --- a/guix-data-service/model/location.scm +++ b/guix-data-service/model/location.scm @@ -42,13 +42,11 @@ (list file (number->string line) (number->string column))) - (((id)) - (string->number id)) + (((id)) id) (() - (string->number - (caar - (exec-query conn - insert-location - (list file - (number->string line) - (number->string column)))))))))) + (caar + (exec-query conn + insert-location + (list file + (number->string line) + (number->string column))))))))) diff --git a/guix-data-service/model/package-metadata.scm b/guix-data-service/model/package-metadata.scm index 644050e..e83fef9 100644 --- a/guix-data-service/model/package-metadata.scm +++ b/guix-data-service/model/package-metadata.scm @@ -92,7 +92,7 @@ WHERE packages.id IN ( (value->quoted-string-or-null synopsis) "," (value->quoted-string-or-null description) "," (value->quoted-string-or-null home_page) "," - (number->string location_id) + location_id ")"))) metadata-rows) ",") diff --git a/tests/model-package-metadata.scm b/tests/model-package-metadata.scm index 83d77bf..5c0092d 100644 --- a/tests/model-package-metadata.scm +++ b/tests/model-package-metadata.scm @@ -34,6 +34,18 @@ conn (list mock-inferior-package-foo)) ((x) (string? x)))) + #:always-rollback? #t)) + + (with-postgresql-transaction + conn + (lambda (conn) + (test-equal "inferior-packages->package-metadata-ids" + (inferior-packages->package-metadata-ids + conn + (list mock-inferior-package-foo)) + (inferior-packages->package-metadata-ids + conn + (list mock-inferior-package-foo))) #:always-rollback? #t)))))) (test-end) |