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.
This commit is contained in:
Christopher Baines 2019-05-14 07:55:17 +01:00
parent 721d21ed4d
commit 28c2d46081
3 changed files with 20 additions and 10 deletions

View File

@ -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)))))))))

View File

@ -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)
",")

View File

@ -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)