cleaning up patches, and fixing missing pkey bugs in sqlite3
[clsql.git] / tests / test-basic.lisp
index 24129e63adc189fc1044c554117134d9f70e8fb0..4d277e358d14ba2c722940c36e02df888371048d 100644 (file)
                        "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)
     ))
 
 
 (def-dataset *ds-bigtext*
   (:setup "CREATE TABLE testbigtext(a varchar(7500))")
   (:cleanup "DROP TABLE testbigtext"))
+
+(def-dataset *ds-reallybigintegers*
+  (:setup (lambda ()
+            (ignore-errors
+             (clsql:execute-command "DROP TABLE testreallybigintegers"))
+            (clsql:execute-command
+             "CREATE TABLE testreallybigintegers( a BIGINT UNSIGNED,
+                                                  b BIGINT UNSIGNED,
+                                                  c BIGINT UNSIGNED,
+                                                  d BIGINT UNSIGNED )")))
+  (:cleanup "DROP TABLE testreallybigintegers"))