Load and use test-i18n.lisp when uffi:no-i18n is not present in cl:*features*
[clsql.git] / tests / test-basic.lisp
index 03ed1e1c4b03e9a2093aa1fb0dc25d7af4821115..5bdc0a3efbfeccbd156d01351e5b197a5bd286e7 100644 (file)
                      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"))