Contents    Page-10    Prev    Next    Page+10    Index   

Building Database Access


; retrievals   = things to get from database
; restrictions = restrictions on the query

;   Main function: ask
(defn ask [sentence]
  ...
  (s)
  ...
   (let [ans (querydb (cons 'and restrictions)
                      (cons 'list retrievals))]
     (if postprocess
         (eval (subst ans '$$ postprocess))
         ans )) ) )

;   make a database access call
(defn retrieve [field]
  (addretrieval (list 'getdb 'tuple (kwote field)) ))

;   add a restriction to the query
(defn restrict [field value]
  (addrestrict
    (list '= (list 'getdb 'tuple (kwote field))
             (kwote value)) ) )