r10265: fix as noted on #lisp
[clsql.git] / db-postgresql-socket / postgresql-socket-api.lisp
index a6cc666c0805358bb098137f79785b3e8f71ecee..dbf41d1f232be7a0b84537b83f64c9c9510d3733 100644 (file)
@@ -426,7 +426,7 @@ troubles."
 (defun encrypt-md5 (plaintext salt)
   (string-downcase
    (format nil "~{~2,'0X~}"
-          (coerce (md5:md5sum-sequence (concatenate 'string plaintext salt)) 'list))))
+          (coerce (md5sum-sequence (concatenate 'string plaintext salt)) 'list))))
 
 (defun reopen-postgresql-connection (connection)
   "Reopen the given PostgreSQL connection.  Closes any existing
@@ -458,14 +458,16 @@ connection, if it is still open."
                    (3
                     (send-unencrypted-password-message
                      socket
-                     (postgresql-connection-password connection)))
+                     (postgresql-connection-password connection))
+                      (force-output socket))
                    (4
                     (let ((salt (make-string 2)))
                       (read-socket-sequence salt socket)
                       (send-encrypted-password-message
                        socket
                        (crypt-password
-                        (postgresql-connection-password connection) salt))))
+                        (postgresql-connection-password connection) salt)))
+                     (force-output socket))
                    (5
                     (let ((salt (make-string 4)))
                       (read-socket-sequence salt socket)
@@ -474,7 +476,8 @@ connection, if it is still open."
                              (pwd (encrypt-md5 pwd2 salt)))
                         (send-encrypted-password-message
                          socket
-                         (concatenate 'string "md5" pwd)))))
+                         (concatenate 'string "md5" pwd))))
+                     (force-output socket))
                    (t
                     (error 'postgresql-login-error
                            :connection connection
@@ -539,6 +542,7 @@ connection, if it is still open."
        while (listen socket)
        do
        (case (read-socket-value-int8 socket)
+         (#.+ready-for-query-message+)
          (#.+notice-response-message+
           (let ((message (read-socket-value-string socket)))
             (warn 'postgresql-warning :connection connection