From d0761ae4837e15419bda1faf1b19ee6823335f3f Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Thu, 16 Nov 2023 10:16:35 +0100 Subject: Transform SQL output --- scripts/precompute/precompute-hits.scm | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/scripts/precompute/precompute-hits.scm b/scripts/precompute/precompute-hits.scm index fed05ba..22bf2d7 100755 --- a/scripts/precompute/precompute-hits.scm +++ b/scripts/precompute/precompute-hits.scm @@ -26,7 +26,7 @@ (dbi-query db "SELECT StrainId,Strain.Name FROM Strain, StrainXRef WHERE StrainXRef.StrainId = Strain.Id AND StrainXRef.InbredSetId = 1 AND Used_for_mapping='Y' ORDER BY StrainId;") (db-check db) -(define (get-rows db) +(define (display-rows db) (let [(row (dbi-get_row db))] (if row (begin @@ -37,4 +37,20 @@ ) )) -(get-rows db) +(define (get-rows db list) + (let [(row (dbi-get_row db))] + (if row + (get-rows db (append list `(,row))) + list + ))) + +(define (get-rows-apply db func list) + (let [(row (dbi-get_row db))] + (if row + (get-rows-apply db func (append list `(,(func row)))) + list + ))) + +; (display (get-rows db '())) + +(display (get-rows-apply db (lambda (r) `(,(assoc-ref r "StrainId") . ,(assoc-ref r "Name"))) '())) -- cgit v1.2.3