Replace string query with DSL query.

Commit
9588743ba2814febf31755a7300ef78d8ec74dd3
Author
Marius Peter <dev@marius-peter.com>
Author date
Committer
Marius Peter <dev@marius-peter.com>
Committer date
models/crop.rkt
index 243f7838..0dfbbb5f 100644..100644
@@ -49,20 +49,20 @@
49 49
50 50 (define (get-crop #:id [id #f]
51 51 #:name [name #f])
52 Removed: (define (where-expr)
53 Removed: (define clauses
54 Removed: (filter values
55 Removed: (list (and id (format "id = ~e" id))
56 Removed: (and name (format "canonical_name = ~e" name)))))
52 Added: (define where
57 53 (cond
58 Removed: [(null? clauses) ""]
59 Removed: [else (format "WHERE ~a" (string-join clauses " AND "))]))
60 Removed: (define query (string-join
61 Removed: `("SELECT id, canonical_name"
62 Removed: "FROM crops"
63 Removed: ,(where-expr)
64 Removed: "ORDER BY id ASC"
65 Removed: "LIMIT 1")))
54 Added: [(and id name)
55 Added: (scalar-expr-qq (and (= id ,id)
56 Added: (= canonical_name ,name)))]
57 Added: [id
58 Added: (scalar-expr-qq (= id ,id))]
59 Added: [name
60 Added: (scalar-expr-qq (= canonical_name ,name))]))
61 Added: (define query (select id canonical_name
62 Added: #:from crops
63 Added: #:where (ScalarExpr:AST ,where)
64 Added: #:order-by id #:asc
65 Added: #:limit 1))
66 66 (match (query-maybe-row (current-conn) query)
67 67 [(vector id* name*)
68 68 (crop id* name*)]