From c0f93e8d41188fc4138a350430ee349b61ea0535 Mon Sep 17 00:00:00 2001 From: Marius Peter Date: Mon, 17 Nov 2025 17:47:17 +0100 Subject: raco fmt. --- models/nutrient-measurement.rkt | 86 +++++++++++++++++++---------------------- 1 file changed, 39 insertions(+), 47 deletions(-) (limited to 'models/nutrient-measurement.rkt') diff --git a/models/nutrient-measurement.rkt b/models/nutrient-measurement.rkt index ee336fe..5b999d8 100644 --- a/models/nutrient-measurement.rkt +++ b/models/nutrient-measurement.rkt @@ -35,62 +35,53 @@ #:transparent #:property prop:custom-write (λ (v out _) - (fprintf out "Measurement #~a on ~a\n" + (fprintf out + "Measurement #~a on ~a\n" (nutrient-measurement-id v) (nutrient-measurement-measured-on v)) (for ([nv (nutrient-measurement-nutrient-values v)]) (match-define (cons n v) nv) - (fprintf out "~a ~a\n" + (fprintf out + "~a ~a\n" (~a (nutrient-name n) #:min-width 14) (~a v #:max-width 6 #:align 'right))))) - ;; CREATE (define (create-nutrient-measurement! measured-on nutrient-values) - (or (get-nutrient-measurement #:measured-on measured-on) - (with-tx - (query-exec (current-conn) - (insert #:into nutrient_measurements - #:set [measured_on ,measured-on])) - (define nm-id (query-value (current-conn) - (select id - #:from nutrient_measurements - #:where (= measured_on ,measured-on)))) - (query-exec (current-conn) - (insert #:into nutrient_value_sets - #:set [nutrient_measurement_id ,nm-id])) - (define nvs-id (query-value (current-conn) - (select id - #:from nutrient_value_sets - #:where (= nutrient_measurement_id ,nm-id)))) - (for ([nv nutrient-values]) - (match-define (cons n v) nv) - (query-exec (current-conn) - (insert #:into nutrient_values - #:set - [value_set_id ,nvs-id] - [nutrient_id ,(nutrient-id n)] - [value_ppm ,v]))) - (get-nutrient-measurement #:measured-on measured-on)))) - + (or + (get-nutrient-measurement #:measured-on measured-on) + (with-tx + (query-exec (current-conn) (insert #:into nutrient_measurements #:set [measured_on ,measured-on])) + (define nm-id + (query-value (current-conn) + (select id #:from nutrient_measurements #:where (= measured_on ,measured-on)))) + (query-exec (current-conn) + (insert #:into nutrient_value_sets #:set [nutrient_measurement_id ,nm-id])) + (define nvs-id + (query-value (current-conn) + (select id #:from nutrient_value_sets #:where (= nutrient_measurement_id ,nm-id)))) + (for ([nv nutrient-values]) + (match-define (cons n v) nv) + (query-exec (current-conn) + (insert #:into nutrient_values + #:set [value_set_id ,nvs-id] + [nutrient_id ,(nutrient-id n)] + [value_ppm ,v]))) + (get-nutrient-measurement #:measured-on measured-on)))) ;; READ (struct acc (measured-on pairs) #:transparent) - (define joined - (table-expr-qq - (inner-join - (inner-join - (inner-join - (as nutrient_measurements nm) - (as nutrient_value_sets nvs) - #:on (= nvs.nutrient_measurement_id nm.id)) - (as nutrient_values nv) - #:on (= nv.value_set_id nvs.id)) - (as nutrients n) - #:on (= n.id nv.nutrient_id)))) + (table-expr-qq (inner-join (inner-join (inner-join (as nutrient_measurements nm) + (as nutrient_value_sets nvs) + #:on (= nvs.nutrient_measurement_id nm.id)) + (as nutrient_values nv) + #:on (= nv.value_set_id nvs.id)) + (as nutrients n) + #:on (= n.id nv.nutrient_id)))) + (define (get-nutrient-measurements) (define query (select nm.id nm.measured_on @@ -155,7 +146,10 @@ (define (get-nutrient-measurement-values nutrient-measurement) (for/list ([(nutrient-id name formula value_ppm) (in-query (current-conn) - (select n.id n.canonical_name n.formula nv.value_ppm + (select n.id + n.canonical_name + n.formula + nv.value_ppm #:from (TableExpr:AST ,joined) #:where (= nm.id ,(nutrient-measurement-id nutrient-measurement))))]) (cons (nutrient nutrient-id name formula) value_ppm))) @@ -172,17 +166,15 @@ (select value_ppm #:from (TableExpr:AST ,joined) #:where (= nv.nutrient_id ,(nutrient-id nutrient)) - #:order-by nm.measured_on #:desc + #:order-by nm.measured_on + #:desc #:limit 1))) ;; UPDATE - ;; DELETE (define (delete-nutrient-measurement! nutrient-measurement) (define id (nutrient-measurement-id nutrient-measurement)) - (query-exec (current-conn) - (delete #:from nutrient_measurements - #:where (= id ,id)))) + (query-exec (current-conn) (delete #:from nutrient_measurements #:where (= id ,id)))) -- cgit v1.2.3