summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
33b80bc)
* Version 3.1.9
* db-mysql/mysql-sql.lisp: Add port to connection specification
based on patch from Dave Watson
* doc/appendix.xml: Document MySQL port parameter to connection spec
+06 Apr 2005 Kevin Rosenberg <kevin@rosenberg.net>
+ * Version 3.1.9
+ * db-mysql/mysql-sql.lisp: Add port to connection specification
+ based on patch from Dave Watson
+ * doc/appendix.xml: Document MySQL port parameter to connection spec
+
03 Apr 2005 Kevin Rosenberg <kevin@rosenberg.net>
03 Apr 2005 Kevin Rosenberg <kevin@rosenberg.net>
* sql/time.lisp: Patch from Keith James for parsing ISO-8601 timestamps
18 Mar 2005 Kevin Rosenberg <kevin@rosenberg.net>
* sql/time.lisp: Patch from Keith James for parsing ISO-8601 timestamps
18 Mar 2005 Kevin Rosenberg <kevin@rosenberg.net>
:mysql)
(defmethod database-name-from-spec (connection-spec (database-type (eql :mysql)))
:mysql)
(defmethod database-name-from-spec (connection-spec (database-type (eql :mysql)))
- (check-connection-spec connection-spec database-type (host db user password))
- (destructuring-bind (host db user password) connection-spec
+ (check-connection-spec connection-spec database-type
+ (host db user password &optional port))
+ (destructuring-bind (host db user password &optional port) connection-spec
(declare (ignore password))
(concatenate 'string
(declare (ignore password))
(concatenate 'string
- (if host host "localhost")
+ (etypecase host
+ (null "localhost")
+ (pathname (namestring host))
+ (string host))
+ (if port
+ (concatenate 'string
+ ":"
+ (etypecase port
+ (integer (write-to-string port))
+ (string port)))
+ "")
"/" db "/" user)))
(defmethod database-connect (connection-spec (database-type (eql :mysql)))
"/" db "/" user)))
(defmethod database-connect (connection-spec (database-type (eql :mysql)))
- (check-connection-spec connection-spec database-type (host db user password))
- (destructuring-bind (host db user password) connection-spec
+ (check-connection-spec connection-spec database-type
+ (host db user password &optional port))
+ (destructuring-bind (host db user password &optional port) connection-spec
(let ((mysql-ptr (mysql-init (uffi:make-null-pointer 'mysql-mysql)))
(socket nil))
(if (uffi:null-pointer-p mysql-ptr)
(let ((mysql-ptr (mysql-init (uffi:make-null-pointer 'mysql-mysql)))
(socket nil))
(if (uffi:null-pointer-p mysql-ptr)
(if (uffi:null-pointer-p
(mysql-real-connect
mysql-ptr host-native user-native password-native
(if (uffi:null-pointer-p
(mysql-real-connect
mysql-ptr host-native user-native password-native
- db-native 0 socket-native 0))
+ db-native
+ (etypecase port
+ (null 0)
+ (integer port)
+ (string (parse-integer port)))
+ socket-native 0))
(progn
(setq error-occurred t)
(error 'sql-connection-error
(progn
(setq error-occurred t)
(error 'sql-connection-error
database :auto nil))))
(defmethod database-create (connection-spec (type (eql :mysql)))
database :auto nil))))
(defmethod database-create (connection-spec (type (eql :mysql)))
- (destructuring-bind (host name user password) connection-spec
+ (destructuring-bind (host name user password &optional port) connection-spec
(multiple-value-bind (output status)
(multiple-value-bind (output status)
- (clsql-sys:command-output "mysqladmin create -u~A -p~A -h~A ~A"
+ (clsql-sys:command-output "mysqladmin create -u~A -p~A -h~A~@[ -P~A~] ~A"
user password
(if host host "localhost")
user password
(if host host "localhost")
name)
(if (or (not (eql 0 status))
(and (search "failed" output) (search "error" output)))
name)
(if (or (not (eql 0 status))
(and (search "failed" output) (search "error" output)))
t))))
(defmethod database-destroy (connection-spec (type (eql :mysql)))
t))))
(defmethod database-destroy (connection-spec (type (eql :mysql)))
- (destructuring-bind (host name user password) connection-spec
+ (destructuring-bind (host name user password &optional port) connection-spec
(multiple-value-bind (output status)
(multiple-value-bind (output status)
- (clsql-sys:command-output "mysqladmin drop -f -u~A -p~A -h~A ~A"
+ (clsql-sys:command-output "mysqladmin drop -f -u~A -p~A -h~A~@[ -P~A~] ~A"
user password
(if host host "localhost")
user password
(if host host "localhost")
(if (or (not (eql 0 status))
(and (search "failed" output) (search "error" output)))
(error 'sql-database-error
(if (or (not (eql 0 status))
(and (search "failed" output) (search "error" output)))
(error 'sql-database-error
t))
(defmethod database-list (connection-spec (type (eql :mysql)))
t))
(defmethod database-list (connection-spec (type (eql :mysql)))
- (destructuring-bind (host name user password) connection-spec
+ (destructuring-bind (host name user password &optional port) connection-spec
- (let ((database (database-connect (list host "mysql" user password) type)))
+ (let ((database (database-connect (list host "mysql" user password port) type)))
(unwind-protect
(progn
(setf (slot-value database 'clsql-sys::state) :open)
(unwind-protect
(progn
(setf (slot-value database 'clsql-sys::state) :open)
+cl-sql (3.1.9-1) unstable; urgency=low
+
+ * New upstream
+
+ -- Kevin M. Rosenberg <kmr@debian.org> Wed, 6 Apr 2005 09:30:51 -0600
+
cl-sql (3.1.8-1) unstable; urgency=low
* New upstream
cl-sql (3.1.8-1) unstable; urgency=low
* New upstream
<title>Connection Specification</title>
<sect3>
<title>Syntax of connection-spec</title>
<title>Connection Specification</title>
<sect3>
<title>Syntax of connection-spec</title>
- <synopsis>(<replaceable>host</replaceable> <replaceable>db</replaceable> <replaceable>user</replaceable> <replaceable>password</replaceable>)</synopsis>
+ <synopsis>(<replaceable>host</replaceable> <replaceable>db</replaceable> <replaceable>user</replaceable> <replaceable>password</replaceable> &optional <replaceable>port</replaceable>)</synopsis>
</sect3>
<sect3>
<title>Description of connection-spec</title>
</sect3>
<sect3>
<title>Description of connection-spec</title>
field.</para>
</listitem>
</varlistentry>
field.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><parameter>port</parameter></term>
+ <listitem>
+ <para>String representing the port to use for
+ communication with the MySQL server.</para>
+ </listitem>
+ </varlistentry>
</variablelist>
</sect3>
</sect2>
</variablelist>
</sect3>
</sect2>