From: Kevin M. Rosenberg Date: Fri, 9 Apr 2004 00:51:08 +0000 (+0000) Subject: r8887: pre 2.4.0 X-Git-Tag: v3.8.6~706 X-Git-Url: http://git.kpe.io/?p=clsql.git;a=commitdiff_plain;h=66b64b326d109d6cb0d96923b60ed6aaeaeabb21 r8887: pre 2.4.0 --- diff --git a/ChangeLog b/ChangeLog index af27bf2..ab3d225 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,14 +1,19 @@ 08 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) - * Version 2.3.4 released + * Version 2.4.0 released: All tests for clsql-classic now finish + correctly on Allegro, Lispworks, CMUCL, SBCL, OpenMCL for + mysql and postgresql backends. postgresql-socket backend + passes all tests for Allegro, Lispworks, CMUCL, and SBCL. * db-mysql/mysql-sql.lisp: Fix array dereferencing * classic-tests/tests.lisp: Fix package name of number-to-sql-string. * clsql.asd/clsql-tests.asd: Add support for asdf:test-op - * Finish renaming of :types keyword to :result-types for + * db-sqlite/sqlite-api-uffi.lisp: Fix type UFFI usage + found by testing on OpenMCL + * db-postgresql-socket/postgresql-socket-api.list: Ported to + SBCL + * multiple: Finish renaming of :types keyword to :result-types for greater CommonSQL compatibility, including documentation * sql/basic-cmds.lisp: Remove obsolete file - * All tests for clsql-classic now finish correctly on - Allegro, Lispworks, CMUCL, SBCL 08 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) * Version 2.3.3 released diff --git a/TODO b/TODO index 4bc5eaf..1b03176 100644 --- a/TODO +++ b/TODO @@ -1,9 +1,10 @@ GENERAL -* test on (and port to) scl, mcl and openmcl; -* implement remaining functions for CLSQL AODBC backend; -* port UncommonSQL ODBC and Oracle backends to CLSQL. - +* test on (and port to) openmcl and mcl. SCL no longer affordable to + individuals; +* implement remaining functions for CLSQL AODBC backend; +* port Oracle and ODBC backend to UFFI. +* port postgresql-socket backend to OpenMCL COMMONSQL SPEC diff --git a/clsql-postgresql-socket.asd b/clsql-postgresql-socket.asd index a990fe1..f06e1ab 100644 --- a/clsql-postgresql-socket.asd +++ b/clsql-postgresql-socket.asd @@ -30,7 +30,7 @@ :description "Common Lisp SQL PostgreSQL Socket Driver" :long-description "cl-sql-postgresql-socket package provides a database driver to the PostgreSQL database via a socket interface." - :depends-on (clsql-base uffi md5) + :depends-on (clsql-base uffi md5 #+sbcl sb-bsd-sockets) :components ((:module :db-postgresql-socket :components diff --git a/db-postgresql-socket/postgresql-socket-api.lisp b/db-postgresql-socket/postgresql-socket-api.lisp index 13ce8e9..572e5cf 100644 --- a/db-postgresql-socket/postgresql-socket-api.lisp +++ b/db-postgresql-socket/postgresql-socket-api.lisp @@ -310,7 +310,6 @@ socket interface" (defvar *postgresql-server-socket-timeout* 60 "Timeout in seconds for reads from the PostgreSQL server.") - #+(or cmu scl) (defun open-postgresql-socket (host port) (etypecase host @@ -323,6 +322,26 @@ socket interface" (string (ext:connect-to-inet-socket host port)))) +#+sbcl +(defun open-postgresql-socket (host port) + (etypecase host + (pathname + ;; Directory to unix-domain socket + (sb-bsd-sockets:socket-connect + (namestring + (make-pathname :name ".s.PGSQL" :type (princ-to-string port) + :defaults host)))) + (string + (let ((sock (make-instance 'sb-bsd-sockets:inet-socket + :type :stream + :protocol :tcp))) + (sb-bsd-sockets:socket-connect + sock + (sb-bsd-sockets:host-ent-address + (sb-bsd-sockets:get-host-by-name host)) + port) + sock)))) + #+(or cmu scl) (defun open-postgresql-socket-stream (host port) (system:make-fd-stream @@ -334,11 +353,10 @@ socket interface" #+sbcl (defun open-postgresql-socket-stream (host port) - (sb-sys:make-fd-stream - (open-postgresql-socket host port) - :input t :output t :element-type '(unsigned-byte 8) - :buffering :none - :timeout *postgresql-server-socket-timeout*)) + (sb-bsd-sockets:socket-make-stream + (open-postgresql-socket host port) :input t :output t + :element-type '(unsigned-byte 8))) + #+allegro (defun open-postgresql-socket-stream (host port) diff --git a/db-sqlite/sqlite-api-uffi.lisp b/db-sqlite/sqlite-api-uffi.lisp index e9c6000..61d1c7d 100644 --- a/db-sqlite/sqlite-api-uffi.lisp +++ b/db-sqlite/sqlite-api-uffi.lisp @@ -52,6 +52,7 @@ ;;; Types. #:sqlite-row #:sqlite-row-pointer + #:sqlite-row-pointer-type #:sqlite-vm-pointer)) (in-package #:sqlite) diff --git a/db-sqlite/sqlite-package.lisp b/db-sqlite/sqlite-package.lisp index cb3d67a..0c973a8 100644 --- a/db-sqlite/sqlite-package.lisp +++ b/db-sqlite/sqlite-package.lisp @@ -16,8 +16,8 @@ ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. ;;;; ************************************************************************* -(in-package :cl-user) +(in-package #:cl-user) -(defpackage :clsql-sqlite - (:use :common-lisp :clsql-base-sys) +(defpackage #:clsql-sqlite + (:use #:common-lisp #:clsql-base-sys) (:export #:sqlite-database)) diff --git a/db-sqlite/sqlite-sql.lisp b/db-sqlite/sqlite-sql.lisp index 805597b..5a41b4d 100644 --- a/db-sqlite/sqlite-sql.lisp +++ b/db-sqlite/sqlite-sql.lisp @@ -78,7 +78,7 @@ (handler-case (multiple-value-bind (data row-n col-n) (sqlite:sqlite-get-table (sqlite-db database) query-expression) - #-clisp (declare (type sqlite:sqlite-row-pointer data)) + #-clisp (declare (type sqlite:sqlite-row-pointer-type data)) (if (= row-n 0) nil (prog1 @@ -103,7 +103,7 @@ (vm (sqlite:make-null-vm) :type sqlite:sqlite-vm-pointer) (first-row (sqlite:make-null-row) - :type sqlite:sqlite-row-pointer) + :type sqlite:sqlite-row-pointer-type) (n-col 0 :type fixnum)) #+clisp (defstruct sqlite-result-set @@ -124,7 +124,7 @@ (multiple-value-bind (n-col cols col-names) (sqlite:sqlite-step vm) (declare (ignore col-names) - #-clisp (type sqlite:sqlite-row-pointer cols) + #-clisp (type sqlite:sqlite-row-pointer-type cols) ) (setf (sqlite-result-set-first-row result-set) cols (sqlite-result-set-n-col result-set) n-col) @@ -156,7 +156,7 @@ (multiple-value-bind (n new-row col-names) (sqlite:sqlite-step (sqlite-result-set-vm result-set)) (declare (ignore n col-names) - #-clisp (type sqlite:sqlite-row-pointer new-row) + #-clisp (type sqlite:sqlite-row-pointer-type new-row) ) (if (sqlite:null-row-p new-row) (return-from database-store-next-row nil) diff --git a/debian/changelog b/debian/changelog index 7ede4ea..dac5884 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +cl-sql (2.4.0-1) unstable; urgency=low + + * New upstream + + -- Kevin M. Rosenberg Thu, 8 Apr 2004 18:10:27 -0600 + cl-sql (2.3.4-1) unstable; urgency=low * New upstream