+
+ (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
+ (flet ((random-char ()
+ (let ((alphabet "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
+ (idx (random 52)))
+ (elt alphabet idx))))
+ (dotimes (n 10)
+ (with-dataset *ds-bigtext*
+ (let* ((len (random 7500))
+ (str (coerce (make-array len
+ :initial-contents (loop repeat len collect (random-char)))
+ 'string))
+ (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 randomized bigtext(~a) inserted: ~s returned: ~s" len str a))
+ ))))
+ nil)
+
+ (deftest :basic/reallybigintegers/1
+ (with-dataset *ds-reallybigintegers*
+ (let* ((a (1- (expt 2 64)))
+ (b (- (expt 2 64) 2))
+ (c (expt 2 63))
+ (d (expt 2 62))
+ (sql (format nil "INSERT INTO testreallybigintegers
+ VALUES (~A, ~A, ~A, ~A)"
+ a b c d)))
+ (query sql)
+ (let ((results
+ (query
+ (format nil "SELECT * FROM testreallybigintegers"))))
+ (equal `(,a ,b ,c ,d) (car results)))))
+ t)