adds another testing path that is run without any open database connection, meant...
[clsql.git] / tests / test-basic.lisp
index 03ed1e1c4b03e9a2093aa1fb0dc25d7af4821115..9dad688c99954b7c4da456c12c2677e23a5f9fc7 100644 (file)
@@ -7,9 +7,7 @@
 ;;;; Author:  Kevin M. Rosenberg
 ;;;; Created: Mar 2002
 ;;;;
 ;;;; Author:  Kevin M. Rosenberg
 ;;;; Created: Mar 2002
 ;;;;
-;;;; $Id$
-;;;;
-;;;; This file, part of CLSQL, is Copyright (c) 2002-2004 by Kevin M. Rosenberg
+;;;; This file, part of CLSQL, is Copyright (c) 2002-2010 by Kevin M. Rosenberg
 ;;;;
 ;;;; CLSQL users are granted the rights to distribute and use this software
 ;;;; as governed by the terms of the Lisp Lesser GNU Public License
 ;;;;
 ;;;; CLSQL users are granted the rights to distribute and use this software
 ;;;; as governed by the terms of the Lisp Lesser GNU Public License
                     results)
              (destructuring-bind (int bigint) row
                (push (list (integerp int)
                     results)
              (destructuring-bind (int bigint) row
                (push (list (integerp int)
-                           (if (and (eq :odbc *test-database-type*)
-                                    (eq :postgresql *test-database-underlying-type*))
-                               ;; ODBC/Postgresql may return returns bigints as strings or integer
-                               ;; depending upon the platform
-                               t
-                               (integerp bigint)))
+                            (integerp bigint))
                      results)))))
       ((t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t)))
 
                      results)))))
       ((t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t)))
 
+
+    (deftest :basic/bigtext/1
+       (with-dataset *ds-bigtext*
+         (let* ((len 7499)
+                (str (make-string len :initial-element #\a))
+                (cmd (format nil "INSERT INTO testbigtext (a) VALUES ('~a')" str)))
+           (execute-command cmd)
+           (let ((a (first (query "SELECT a from testbigtext"
+                                  :flatp t :field-names nil))))
+             (assert (string= str a) (str a)
+                     "mismatch on a. inserted: ~a returned: ~a" len (length a)))
+           ))
+      nil)
+    (deftest :basic/bigtext/2
+       (dotimes (n 10)
+         (with-dataset *ds-bigtext*
+           (let* ((len (random 7500))
+                  (str (make-string len :initial-element #\a))
+                  (cmd (format nil "INSERT INTO testbigtext (a) VALUES ('~a')" str)))
+             (execute-command cmd)
+             (let ((a (first (query "SELECT a from testbigtext"
+                                    :flatp t :field-names nil))))
+               (assert (string= str a) (str a)
+                       "mismatch on a. inserted: ~a returned: ~a" len (length a)))
+             )))
+      nil)
     ))
 
 
     ))
 
 
        (if (> diff (* 10 double-float-epsilon))
            nil
            t))))
        (if (> diff (* 10 double-float-epsilon))
            nil
            t))))
+
+(def-dataset *ds-bigtext*
+  (:setup "CREATE TABLE testbigtext(a varchar(7500))")
+  (:cleanup "DROP TABLE testbigtext"))