guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: Handle concatenated data in package-derivation-da


From: Christopher Baines
Subject: branch master updated: Handle concatenated data in package-derivation-data->names-and-versions
Date: Thu, 22 Aug 2024 07:12:57 -0400

This is an automated email from the git hooks/post-receive script.

cbaines pushed a commit to branch master
in repository data-service.

The following commit(s) were added to refs/heads/master by this push:
     new a204bda  Handle concatenated data in 
package-derivation-data->names-and-versions
a204bda is described below

commit a204bda36d0433b5835375cbdc9e640a2a196674
Author: Christopher Baines <mail@cbaines.net>
AuthorDate: Thu Aug 22 12:07:35 2024 +0100

    Handle concatenated data in package-derivation-data->names-and-versions
    
    As this broke when constructing the package-data from separate queries per
    system.
---
 guix-data-service/comparison.scm | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/guix-data-service/comparison.scm b/guix-data-service/comparison.scm
index 1559ac8..20945db 100644
--- a/guix-data-service/comparison.scm
+++ b/guix-data-service/comparison.scm
@@ -647,13 +647,20 @@ ORDER BY coalesce(base_packages.name, 
target_packages.name) ASC, base_packages.v
         ((pair)
          (cons pair result))))
     '()
-    (map (match-lambda
-           ((base-name base-version _ _ _ _ _ target-name target-version _ _ _ 
_ _)
-            (if (or (and (string? base-name) (string-null? base-name))
-                    (eq? base-name #f))
-                (cons target-name target-version)
-                (cons base-name base-version))))
-         package-data))))
+    (sort!
+     (map (match-lambda
+            ((base-name base-version _ _ _ _ _ target-name target-version _ _ 
_ _ _)
+             (if (or (and (string? base-name) (string-null? base-name))
+                     (eq? base-name #f))
+                 (cons target-name target-version)
+                 (cons base-name base-version))))
+          package-data)
+     (lambda (a b)
+       (let ((a-name (car a))
+             (b-name (car b)))
+         (if (string=? a-name b-name)
+             (string<? (cdr a) (cdr b))
+             (string<? a-name b-name))))))))
 
 (define (package-derivation-data-vhash->derivations conn packages-vhash)
   (define (vhash->derivation-ids vhash)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]