Realign nutrient-target model with nutrient-measurement.

Commit
57ef0bf0a715f2a3f7ace7ad481d27e566798a14
Author
Marius Peter <dev@marius-peter.com>
Author date
Committer
Marius Peter <dev@marius-peter.com>
Committer date
models/nutrient-target.rkt
index 4e43ef14..6f255640 100644..100644
@@ -20,7 +20,7 @@
20 20 (or/c nutrient-target? #f))]
21 21 [get-nutrient-target-values (-> nutrient-target? (listof (cons/c nutrient? number?)))]
22 22 [get-nutrient-target-value (-> nutrient-target? nutrient? number?)]
23 Removed: ;; Before the first target is createed, the "latest" value is basically false.
23 Added: ;; The "latest" value is false before the first target is created.
24 24 [get-latest-nutrient-target-value (-> nutrient? (or/c number? #f))]
25 25 [delete-nutrient-target! (-> nutrient-target? void?)]))
26 26
@@ -144,38 +144,25 @@
144 144 (define (get-nutrient-target-values nutrient-target)
145 145 (for/list ([(nutrient-id name formula value_ppm)
146 146 (in-query (current-conn)
147 Removed: (string-join
148 Removed: '("SELECT n.id, n.canonical_name, n.formula, nv.value_ppm"
149 Removed: "FROM nutrient_values nv"
150 Removed: "JOIN nutrient_value_sets nvs ON nvs.id = nv.value_set_id"
151 Removed: "JOIN nutrient_targets nm ON nm.id = nvs.nutrient_target_id"
152 Removed: "JOIN nutrients n ON n.id = nv.nutrient_id"
153 Removed: "WHERE nm.id = $1"))
154 Removed: (nutrient-target-id nutrient-target))])
147 Added: (select n.id n.canonical_name n.formula nv.value_ppm
148 Added: #:from (TableExpr:AST ,joined)
149 Added: #:where (= nm.id ,(nutrient-target-id nutrient-target))))])
155 150 (cons (nutrient nutrient-id name formula) value_ppm)))
156 151
157 152 (define (get-nutrient-target-value nutrient-target nutrient)
158 153 (query-maybe-value (current-conn)
159 Removed: (string-join
160 Removed: '("SELECT value_ppm"
161 Removed: "FROM nutrient_values nv"
162 Removed: "JOIN nutrient_value_sets nvs ON nvs.id = nv.value_set_id"
163 Removed: "JOIN nutrient_targets nm ON nm.id = nvs.nutrient_target_id"
164 Removed: "WHERE nm.id = $1 AND nv.nutrient_id = $2"))
165 Removed: (nutrient-target-id nutrient-target)
166 Removed: (nutrient-id nutrient)))
154 Added: (select value_ppm
155 Added: #:from (TableExpr:AST ,joined)
156 Added: #:where (and (= nm.id ,(nutrient-target-id nutrient-target))
157 Added: (= nv.nutrient_id ,(nutrient-id nutrient))))))
167 158
168 159 (define (get-latest-nutrient-target-value nutrient)
169 160 (query-maybe-value (current-conn)
170 Removed: (string-join
171 Removed: '("SELECT value_ppm"
172 Removed: "FROM nutrient_values nv"
173 Removed: "JOIN nutrient_value_sets nvs ON nvs.id = nv.value_set_id"
174 Removed: "JOIN nutrient_targets nm ON nm.id = nvs.nutrient_target_id"
175 Removed: "WHERE nv.nutrient_id = $1"
176 Removed: "ORDER BY nm.effective_on DESC"
177 Removed: "LIMIT 1"))
178 Removed: (nutrient-id nutrient)))
161 Added: (select value_ppm
162 Added: #:from (TableExpr:AST ,joined)
163 Added: #:where (= nv.nutrient_id ,(nutrient-id nutrient))
164 Added: #:order-by nm.effective_on #:desc
165 Added: #:limit 1)))
179 166
180 167
181 168 ;; UPDATE