瀏覽代碼

ob-sql: Add possibility to set dbport

 * lisp/ob-sql.el (org-babel-sql-dbstring-mysql): Change type
signature to accept server port number too.
(org-babel-execute:sql) Will now recognize the dbport parameter.
Passed to `org-babel-sql-dbstring-mysql' only for now.

TINYCHANGE
Saulius Menkevičius 10 年之前
父節點
當前提交
187dae0ab1
共有 1 個文件被更改,包括 7 次插入2 次删除
  1. 7 2
      lisp/ob-sql.el

+ 7 - 2
lisp/ob-sql.el

@@ -36,6 +36,7 @@
 ;; - engine
 ;; - engine
 ;; - cmdline
 ;; - cmdline
 ;; - dbhost
 ;; - dbhost
+;; - dbport
 ;; - dbuser
 ;; - dbuser
 ;; - dbpassword
 ;; - dbpassword
 ;; - database
 ;; - database
@@ -68,6 +69,7 @@
   '((engine	       . :any)
   '((engine	       . :any)
     (out-file	       . :any)
     (out-file	       . :any)
     (dbhost	       . :any)
     (dbhost	       . :any)
+    (dbport	       . :any)
     (dbuser	       . :any)
     (dbuser	       . :any)
     (dbpassword	       . :any)
     (dbpassword	       . :any)
     (database	       . :any))
     (database	       . :any))
@@ -78,11 +80,12 @@
   (org-babel-sql-expand-vars
   (org-babel-sql-expand-vars
    body (mapcar #'cdr (org-babel-get-header params :var))))
    body (mapcar #'cdr (org-babel-get-header params :var))))
 
 
-(defun org-babel-sql-dbstring-mysql (host user password database)
+(defun org-babel-sql-dbstring-mysql (host port user password database)
   "Make MySQL cmd line args for database connection.  Pass nil to omit that arg."
   "Make MySQL cmd line args for database connection.  Pass nil to omit that arg."
   (combine-and-quote-strings
   (combine-and-quote-strings
    (delq nil
    (delq nil
 	 (list (when host     (concat "-h" host))
 	 (list (when host     (concat "-h" host))
+	       (when port     (format "-P%d" port))
 	       (when user     (concat "-u" user))
 	       (when user     (concat "-u" user))
 	       (when password (concat "-p" password))
 	       (when password (concat "-p" password))
 	       (when database (concat "-D" database))))))
 	       (when database (concat "-D" database))))))
@@ -102,6 +105,7 @@ This function is called by `org-babel-execute-src-block'."
   (let* ((result-params (cdr (assoc :result-params params)))
   (let* ((result-params (cdr (assoc :result-params params)))
          (cmdline (cdr (assoc :cmdline params)))
          (cmdline (cdr (assoc :cmdline params)))
          (dbhost (cdr (assoc :dbhost params)))
          (dbhost (cdr (assoc :dbhost params)))
+         (dbport (cdr (assq :dbport params)))
          (dbuser (cdr (assoc :dbuser params)))
          (dbuser (cdr (assoc :dbuser params)))
          (dbpassword (cdr (assoc :dbpassword params)))
          (dbpassword (cdr (assoc :dbpassword params)))
          (database (cdr (assoc :database params)))
          (database (cdr (assoc :database params)))
@@ -126,7 +130,8 @@ This function is called by `org-babel-execute-src-block'."
                                      (org-babel-process-file-name in-file)
                                      (org-babel-process-file-name in-file)
                                      (org-babel-process-file-name out-file)))
                                      (org-babel-process-file-name out-file)))
                     ('mysql (format "mysql %s %s %s < %s > %s"
                     ('mysql (format "mysql %s %s %s < %s > %s"
-				    (org-babel-sql-dbstring-mysql dbhost dbuser dbpassword database)
+				    (org-babel-sql-dbstring-mysql
+				     dbhost dbport dbuser dbpassword database)
 				    (if colnames-p "" "-N")
 				    (if colnames-p "" "-N")
                                     (or cmdline "")
                                     (or cmdline "")
 				    (org-babel-process-file-name in-file)
 				    (org-babel-process-file-name in-file)