r9260: 6 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
[clsql.git] / tests / test-fdml.lisp
index 39aac724057fcec3b61209ef9ef02725503cd52e..26e760e919937be497e3e54512b4725f478fc4a4 100644 (file)
@@ -27,7 +27,7 @@
     (progn
       (clsql:insert-records :into [employee] 
                            :values `(11 1 "Yuri" "Gagarin" "gagarin@soviet.org"
-                                     1 1 1.85 t ,(clsql-base:get-time)))
+                                     1 1 1.85 t ,(clsql:get-time)))
       (values 
        (clsql:select [first-name] [last-name] [email]
                     :from [employee] :where [= [emplid] 11])
@@ -40,7 +40,7 @@
     (progn
       (clsql:insert-records :into [employee] 
                            :attributes '(emplid groupid first_name last_name
-                                         email companyid managerid)
+                                         email ecompanyid managerid)
                            :values '(11 1 "Yuri" "Gagarin" "gagarin@soviet.org"
                                      1 1))
       (values 
@@ -58,7 +58,7 @@
                                       (first_name "Yuri")
                                       (last_name "Gagarin")
                                       (email "gagarin@soviet.org")
-                                      (companyid 1) (managerid 1)))
+                                      (ecompanyid 1) (managerid 1)))
       (values 
        (clsql:select [first-name] [last-name] [email] :from [employee]
                     :where [= [emplid] 11])
 
 (deftest :fdml/select/13
      (multiple-value-bind (results field-names) 
-        (clsql:select [emplid] [last-name] [married] :from [employee] 
+        (clsql:select [emplid] [last-name] :from [employee] 
                       :where [= [emplid] 1])
        (values results (mapcar #'string-downcase field-names)))
- ((1 "Lenin" "t"))
- ("emplid" "last_name" "married"))
+ ((1 "Lenin"))
+ ("emplid" "last_name"))
+
 (deftest :fdml/select/14
      (floatp (car (clsql:select [height] :from [employee] :where [= [emplid] 1] 
                                :flatp t)))
   t)
 
+(deftest :fdml/select/15
+    (multiple-value-bind (rows field-names)
+       (clsql:select [addressid] [street-number] [street-name] [city_field] [zip] 
+        :from [address]
+        :where [= 1 [addressid]])
+      (values
+       rows
+       (mapcar #'string-downcase field-names)))
+  ((1 10 "Park Place" "Leningrad" 123))
+  ("addressid" "street_number" "street_name" "city_field" "zip"))
+
+(deftest :fdml/select/16
+    (clsql:select [emplid] :from [employee] :where [= 1 [emplid]]
+     :field-names nil)
+  ((1)))
+
+(deftest :fdml/select/17
+    (clsql:select [emplid] [last-name] :from [employee] :where [= 1 [emplid]]
+     :field-names nil)
+  ((1 "Lenin")))
+
+(deftest :fdml/select/18
+    (clsql:select [emplid :string] [last-name] :from [employee] :where [= 1 [emplid]]
+     :field-names nil)
+  (("1" "Lenin")))
+
 ;(deftest :fdml/select/11
 ;    (clsql:select [emplid] :from [employee]
 ;                :where [= [emplid] [any [select [companyid] :from [company]]]]
       collect (concatenate 'string forename " " surname))
   ("Yuri Andropov" "Leonid Brezhnev" "Konstantin Chernenko" "Mikhail Gorbachev"
                    "Nikita Kruschev" "Vladamir Lenin" "Vladamir Putin"
-                   "Josef Stalin" "Leon Trotsky" "Boris Yeltsin"))
+   "Josef Stalin" "Leon Trotsky" "Boris Yeltsin"))
+
+(deftest :fdml/loop/2
+    (loop for (addressid)
+      being each tuple in
+      [select [addressid] :from [address] :order-by [addressid]]
+     collect addressid)
+  (1 2))
+
+(deftest :fdml/loop/3
+    (loop for addressid
+      being each tuple in
+      [select [addressid] :from [address] :order-by [addressid]]
+      collect addressid)
+  (1 2))
 
 ;; starts a transaction deletes a record and then rolls back the deletion 
 (deftest :fdml/transaction/1