;;;; Original code by Pierre R. Mai
;;;; Date Started: Feb 2002
;;;;
-;;;; $Id: postgresql-socket-sql.cl,v 1.10 2002/03/29 09:37:24 kevin Exp $
+;;;; $Id: postgresql-socket-sql.cl,v 1.13 2002/05/27 17:19:30 kevin Exp $
;;;;
;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;; and Copyright (c) 1999-2001 by Pierre R. Mai
(in-package :cl-user)
(defpackage :clsql-postgresql-socket
- (:use :common-lisp :clsql-sys :postgresql-socket)
+ (:use :common-lisp :clsql-base-sys :postgresql-socket)
(:export #:postgresql-socket-database)
(:documentation "This is the CLSQL socket interface to PostgreSQL."))
(defmethod database-type-library-loaded ((database-type (eql :postgresql-socket)))
t)
-(defmethod clsql-sys:database-type-load-foreign ((database-type (eql :postgresql-socket)))
+(defmethod clsql-base-sys:database-type-load-foreign ((database-type (eql :postgresql-socket)))
t)
-(clsql-sys:database-type-load-foreign :postgresql-socket)
+(clsql-base-sys:database-type-load-foreign :postgresql-socket)
;; Field type conversion
;; KMR - removed double @@
,@body))))
-(defmethod database-initialize-database-type
- ((database-type (eql :postgresql-socket)))
+(defmethod database-initialize-database-type ((database-type
+ (eql :postgresql-socket)))
t)
(defclass postgresql-socket-database (database)
((connection :accessor database-connection :initarg :connection
:type postgresql-connection)))
-(defmethod database-name-from-spec
- (connection-spec (database-type (eql :postgresql-socket)))
+(defmethod database-type ((database postgresql-socket-database))
+ :postgresql-socket)
+
+(defmethod database-name-from-spec (connection-spec
+ (database-type (eql :postgresql-socket)))
(check-connection-spec connection-spec database-type
(host db user password &optional port options tty))
(destructuring-bind (host db user password &optional port options tty)
(declare (ignore password options tty))
(concatenate 'string host (if port ":") (if port port) "/" db "/" user)))
-(defmethod database-connect
- (connection-spec (database-type (eql :postgresql-socket)))
+(defmethod database-connect (connection-spec
+ (database-type (eql :postgresql-socket)))
(check-connection-spec connection-spec database-type
(host db user password &optional port options tty))
(destructuring-bind (host db user password &optional
(make-instance 'postgresql-socket-database
:name (database-name-from-spec connection-spec
database-type)
+ :connection-spec connection-spec
:connection connection))
(postgresql-error (c)
;; Connect failed
(prog1 nil
(setf (postgresql-socket-result-set-done result-set) t)
(wait-for-query-results (database-connection database)))))))
+
+(when (clsql-base-sys:database-type-library-loaded :postgresql-socket)
+ (clsql-base-sys:initialize-database-type :database-type :postgresql-socket))