;;;; Author: Kevin M. Rosenberg
;;;; Date Started: May 2003
;;;;
-;;;; $Id: tests.lisp,v 1.1 2003/05/02 18:47:53 kevin Exp $
+;;;; $Id: tests.lisp,v 1.3 2003/05/03 17:10:08 kevin Exp $
;;;;
;;;; This file, part of UMLisp, is
;;;; Copyright (c) 2000-2002 by Kevin M. Rosenberg, M.D.
(deftest qs.4 (umlisp::query-string 'mrcon '(cui lui) nil 'kpfstr "Abc")
"select CUI,LUI from MRCON where KPFSTR='Abc'")
-(deftest qs.5 (umlisp::query-string 'mrcon '(cui lui) 2 'cui 5 "limit 1")
+(deftest qs.5 (umlisp::query-string 'mrcon '(cui lui) 2 'cui 5 :single t)
"select CUI,LUI from MRCON where CUI=5 and KCUILRL <= 2 limit 1")
-(deftest qs.6 (umlisp::query-string 'mrdef '(sab def) 2 'cui 39 'srl "limit 1")
+(deftest qs.6 (umlisp::query-string 'mrdef '(sab def) 2 'cui 39 :lrlname 'ksrl :single t)
"select SAB,DEF from MRDEF where CUI=39 and KSRL <= 2 limit 1")
+(deftest qs.7 (umlisp::query-string 'mrdef '(sab def) 2 'cui 39 :lrlname 'ksrl :order '((cui . asc)))
+ "select SAB,DEF from MRDEF where CUI=39 and KSRL <= 2 order by CUI asc")
+
+(deftest qs.8 (umlisp::query-string 'mrdef '(sab def) 2 'cui 39 :lrlname 'ksrl
+ :order '((cui . asc) (def . desc)))
+ "select SAB,DEF from MRDEF where CUI=39 and KSRL <= 2 order by CUI asc,DEF desc")
+
+(defun f2 (&key (srl *current-srl*))
+ "Return list of all ucon's"
+ (umlisp::with-umlisp-query ('mrcon (cui kpfstr kcuilrl) srl nil nil)
+ (make-instance 'ucon :cui (ensure-integer cui) :pfstr kpfstr
+ :lrl (ensure-integer kcuilrl))))
+
+(defun f1 (&key (srl *current-srl*))
+ "Return list of all ucon's"
+ (umlisp::with-sql-connection (db)
+ (clsql:map-query
+ 'list
+ #'(lambda (cui pfstr cuilrl)
+ (make-instance 'ucon :cui (ensure-integer cui)
+ :pfstr pfstr
+ :lrl (ensure-integer cuilrl)))
+ (query-string 'mrcon '(cui kpfstr kcuilrl) srl nil nil)
+ :database db)))