Patches from Walter C. Pelissero on clsql mail list
authorKevin Rosenberg <kevin@rosenberg.net>
Fri, 16 Apr 2010 06:13:42 +0000 (00:13 -0600)
committerKevin Rosenberg <kevin@rosenberg.net>
Fri, 16 Apr 2010 06:13:42 +0000 (00:13 -0600)
- db-postgresql.lisp, sql/fddl.lisp: Fix typos
- sql/metaclasses.lisp: Work around type-check-function being set
  during defclass expansion in SBCL
- uffi/clsql-uffi.lisp: In call to uffi:convert-from-foreign-string,
  Set null-terminated-p to T when length not specified.

ChangeLog
db-postgresql/postgresql-sql.lisp
sql/fddl.lisp
sql/metaclasses.lisp
uffi/clsql-uffi.lisp

index d5a3ae7de5849814adfcb3dcb6e12bff7a2d1229..3e1e9c80bf57f195b066ac976efab205bd588c2e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2010-04-16  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 5.0.6
+       * db-postgresql.lisp, sql/fddl.lisp: Fix typos [Thanks to
+       Walter C. Pelissero]
+       * sql/metaclasses.lisp: Work around type-check-function being set
+       during defclass expansion in SBCL [Thanks to Walter C. Pelissero]
+       * uffi/clsql-uffi.lisp: In call to uffi:convert-from-foreign-string,
+       Set null-terminated-p to T when length not specified.
+       [Thanks to Walter C. Pelissero]
+
 2010-03-21  Kevin Rosenberg <kevin@rosenberg.net>
        * Version 5.0.5
        * sql/fdml.lisp: Fix DO-QUERY to actually return the last value of
index 462c447486035c5d806febd3259dbd8ed17e9f0e..51d5d0f3cea0cd167f71127d02f7bf67d55ac66e 100644 (file)
                  :database database
                  :expression sql-expression
                  :message (tidy-error-message (PQerrorMessage conn-ptr)
-                                              (encoding databse))))
+                                              (encoding database))))
         (unwind-protect
             (case (PQresultStatus result)
               (#.pgsql-exec-status-type#command-ok
index 50fe159c2622f0836b01a95b7fcdf9286bcedc6d..19dfea994127c2b7c0a0f78cd9721164fa4b88b7 100644 (file)
@@ -431,7 +431,7 @@ sequences are examined."
 
 (defun set-sequence-position (name position &key (database *default-database*))
   "Explicitly set the the position of the sequence called NAME in
-DATABASE, which defaults to *DEFAULT-DATABSE*, to POSITION which
+DATABASE, which defaults to *DEFAULT-DATABASE*, to POSITION which
 is returned."
   (database-set-sequence-position (database-identifier name database)
                                   position database))
index 530c674c55f6f7da589180bc618d731b0aa283bb..331e35a01966221026571780190544bc492431db 100644 (file)
@@ -526,6 +526,11 @@ implementations."
 
          (setf (specified-type esd)
                (delistify-dsd (specified-type dsd)))
+        ;; The type-check-function is computed at defclass expansion,
+        ;; which is too early for the CLSQL type conversion to take
+        ;; place.  This gets rid of it.  It's ugly but it's better
+        ;; than nothing -wcp10/4/10.
+        #+sbcl (setf (slot-value esd 'sb-pcl::%type-check-function) nil)
 
          )
         ;; all other slots
index 7a4dbbb1ddc821f1923b2e71c9fd2f4785e50f4a..11038d56851142e09385fbfa86d28970ada79642 100644 (file)
             (error "Can't return blob since length is not specified.")))
        (t
         (uffi:convert-from-foreign-string char-ptr
-                                          :null-terminated-p nil
+                                          :null-terminated-p (not length)
                                           :length length
                                           :encoding encoding))))))