anchor.diff:  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;; Simple SQL Queries
   (defun mysql-query (connection query-string)
  +  "Send a SQL Query over the connection using the MySQL Text Protocol.
  +   For queries that return rows, returns two values:
  +    A vector of rows, each of which is a vector of columns.
  +    A vector of column descriptors.
  +   For queries that don't return rows, returns a QMYND:RESPONSE-OK-PACKET.
  +   May signal a QMYND:MYSQL-ERROR."
     (with-mysql-connection (connection)
       (send-command-query query-string)))
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;; Prepared Statements
   (defun mysql-statement-prepare (connection query-string)
  +  "Prepares a SQL Query using the MySQL Prepared Statement Protocol.
  +   Returns a QMYND:MYSQL-PREPARED-STATEMENT.
  +   NB: The QMYND:MYSQL-PREPARED-STATEMENT remembers the
  +       QMYND:MYSQL-CONNECTION it was prepared for."
     (with-mysql-connection (connection)
       (send-command-statement-prepare query-string)))
   
   (defmethod mysql-statement-execute ((statement mysql-prepared-statement) &key parameters)
  +  "Executes a QMYND:MYSQL-PREPARED-STATEMENT.
  +   Accepts the following keyword arguments:
  +    PARAMETERS: a sequence of parameters for the placeholders in the prepared statement, if any."
     (let ((connection (mysql-prepared-statement-connection statement)))
       (unless connection (error 'invalid-prepared-statement))
       (with-mysql-connection (connection)
         (send-command-statement-execute statement :parameters parameters))))
   
   (defmethod mysql-statement-close ((statement mysql-prepared-statement))
  +  "Deallocates and invalidates STATEMENT."
     (let ((connection (mysql-prepared-statement-connection statement)))
       (unless connection (error 'invalid-prepared-statement))
       (with-mysql-connection (connection)
  
positive.code: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;; Conncetion entry-point
  (defun mysql-connect (&key (host "localhost") (port 3306) (username "") (password "") database (ssl :unspecified) ssl-verify)
    ;; Open Socket
    (let* ((socket (usocket:socket-connect host port
                                           :protocol :stream
  
negative.code:     (mysql-connect-do-handshake connection username password database :ssl nil)))
  
  (defmethod mysql-disconnect ((c mysql-base-connection))
    "Shut down a MySQL connection."
    (when (mysql-connection-connected c)
      (with-mysql-connection (c)
        (send-command-quit))))
  