(("Vladamir" "Lenin" "lenin@soviet.org")))
+;; Computed values are not always classified as numeric by psqlodbc
(deftest :fdml/query/1
- (clsql:query "SELECT COUNT(*) FROM EMPLOYEE WHERE (EMAIL LIKE '%org')")
- (("10")))
+ (let ((count (caar (clsql:query "SELECT COUNT(*) FROM EMPLOYEE WHERE (EMAIL LIKE '%org')" :field-names nil))))
+ (if (stringp count)
+ (nth-value 0 (parse-integer count))
+ count))
+ 10)
(deftest :fdml/query/2
- (clsql:query
- "SELECT FIRST_NAME,LAST_NAME FROM EMPLOYEE WHERE (EMPLID <= 5) ORDER BY LAST_NAME")
+ (multiple-value-bind (rows field-names)
+ (clsql:query
+ "SELECT FIRST_NAME,LAST_NAME FROM EMPLOYEE WHERE (EMPLID <= 5) ORDER BY LAST_NAME")
+ (values rows (mapcar 'string-upcase field-names)))
(("Leonid" "Brezhnev") ("Nikita" "Kruschev") ("Vladamir" "Lenin")
- ("Josef" "Stalin") ("Leon" "Trotsky")))
+ ("Josef" "Stalin") ("Leon" "Trotsky"))
+ ("FIRST_NAME" "LAST_NAME"))
+(deftest :fdml/query/3
+ (caar (clsql:query "SELECT EMPLID FROM EMPLOYEE WHERE LAST_NAME = 'Andropov'" :field-names nil))
+ 6)
+
+(deftest :fdml/query/4
+ (typep (caar (clsql:query "SELECT HEIGHT FROM EMPLOYEE WHERE LAST_NAME = 'Andropov'" :field-names nil))
+ 'float)
+ t)
(deftest :fdml/execute-command/1
(values
:flatp t)
results)
(apply #'values (nreverse results)))
- nil :COMMITTED nil ("lenin-nospam@soviet.org") :COMMITTED
+ nil :committed nil ("lenin-nospam@soviet.org") :committed
nil ("lenin@soviet.org"))
;; runs a valid update and an invalid one within a transaction and checks