[Racket] Ferti hydroponic nutrient solver, redux.
Simplify retrieval of all nutrient measurements and targets.
Changed files
models/nutrient-measurement.rkt
@@ -12,10 +12,8 @@
12
12
nutrient?
13
13
number?))
14
14
nutrient-measurement?)]
15
Removed:
[get-nutrient-measurements (->* ()
16
Removed:
(#:id (or/c #f exact-nonnegative-integer?)
17
Removed:
#:measured-on (or/c #f string?))
18
Removed:
(listof nutrient-measurement?))]
15
Added:
[get-nutrient-measurements (-> void?
16
Added:
(listof nutrient-measurement?))]
19
17
[get-nutrient-measurement (->* ()
20
18
(#:id (or/c #f exact-nonnegative-integer?)
21
19
#:measured-on (or/c #f string?))
@@ -80,23 +78,13 @@
80
78
81
79
;; READ
82
80
83
Removed:
(define (get-nutrient-measurements #:id [id #f]
84
Removed:
#:measured-on [measured-on #f])
85
Removed:
(define (where-expr)
86
Removed:
(define clauses
87
Removed:
(filter values
88
Removed:
(list (and id (format "id = ~e" id))
89
Removed:
(and measured-on (format "measured_on = ~e" measured-on)))))
90
Removed:
(cond
91
Removed:
[(null? clauses) ""]
92
Removed:
[else (format "WHERE ~a" (string-join clauses " AND "))]))
93
Removed:
(define query (string-join
94
Removed:
`("SELECT id, measured_on"
95
Removed:
"FROM nutrient_measurements"
96
Removed:
,(where-expr)
97
Removed:
"ORDER BY id ASC")))
81
Added:
(define (get-nutrient-measurements)
98
82
(for/list ([(id* measured-on*)
99
Removed:
(in-query (current-conn) query)])
83
Added:
(in-query (current-conn)
84
Added:
(string-join
85
Added:
`("SELECT id, measured_on"
86
Added:
"FROM nutrient_measurements"
87
Added:
"ORDER BY id ASC")))])
100
88
(nutrient-measurement id* measured-on*)))
101
89
102
90
(define (get-nutrient-measurement #:id [id #f]
models/nutrient-target.rkt
@@ -12,12 +12,8 @@
12
12
nutrient?
13
13
number?))
14
14
nutrient-target?)]
15
Removed:
[get-nutrient-targets (->* ()
16
Removed:
(#:id
17
Removed:
(or/c #f exact-nonnegative-integer?)
18
Removed:
#:effective-on
19
Removed:
(or/c #f string?))
20
Removed:
(listof nutrient-target?))]
15
Added:
[get-nutrient-targets (-> void?
16
Added:
(listof nutrient-target?))]
21
17
[get-nutrient-target (->* ()
22
18
(#:id
23
19
(or/c #f exact-nonnegative-integer?)
@@ -85,23 +81,13 @@
85
81
86
82
;; READ
87
83
88
Removed:
(define (get-nutrient-targets #:id [id #f]
89
Removed:
#:effective-on [effective-on #f])
90
Removed:
(define (where-expr)
91
Removed:
(define clauses
92
Removed:
(filter values
93
Removed:
(list (and id (format "id = ~e" id))
94
Removed:
(and effective-on (format "effective_on = ~e" effective-on)))))
95
Removed:
(cond
96
Removed:
[(null? clauses) ""]
97
Removed:
[else (format "WHERE ~a" (string-join clauses " AND "))]))
98
Removed:
(define query (string-join
99
Removed:
`("SELECT id, effective_on"
100
Removed:
"FROM nutrient_targets"
101
Removed:
,(where-expr)
102
Removed:
"ORDER BY id ASC")))
84
Added:
(define (get-nutrient-targets)
103
85
(for/list ([(id* effective-on*)
104
Removed:
(in-query (current-conn) query)])
86
Added:
(in-query (current-conn)
87
Added:
(string-join
88
Added:
`("SELECT id, effective_on"
89
Added:
"FROM nutrient_targets"
90
Added:
"ORDER BY id ASC")))])
105
91
(nutrient-target id* effective-on*)))
106
92
107
93
(define (get-nutrient-target #:id [id #f]