+(defun get-spec-and-type ()
+ (format t "~&Test CLSQL")
+ (format t "~&==========~%")
+ (format t "~&Enter connection type (:mysql :postgresql :postgresql-socket")
+ #+allegro (format t " :aodbc")
+ (format t ") [default END]: ")
+ (let ((type-string (read-line)))
+ (if (zerop (length type-string))
+ (values nil nil)
+ (get-spec-for-type (read-from-string type-string)))))
+
+(defun get-spec-for-type (type)
+ (let ((spec (get-spec-using-format type
+ (ecase type
+ ((:mysql :postgresql :postgresql-socket)
+ '("host" "database" "user" "password"))
+ (:aodbc
+ '("dsn" "user" "password"))))))
+ (values spec type)))