* lisp/ob-sql.el (org-babel-sql-dbstring-vertica): New function. (org-babel-execute:sql): Add `vertica' engine. Signed-off-by: Andreas Gerler --- lisp/ob-sql.el | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/lisp/ob-sql.el b/lisp/ob-sql.el index 15c50ad..ec0427f 100644 --- a/lisp/ob-sql.el +++ b/lisp/ob-sql.el @@ -56,6 +56,7 @@ ;; - sqsh ;; - postgresql ;; - oracle +;; - vertica ;; ;; TODO: ;; @@ -136,6 +137,16 @@ SQL Server on Windows and Linux platform." (when database (format "-D \"%s\"" database)))) " ")) +(defun org-babel-sql-dbstring-vertica (host port user password database) + "Make Vertica command line args for database connection. Pass nil to omit that arg." + (mapconcat #'identity + (delq nil + (list (when host (format "-h %s" host)) + (when port (format "-p %d" port)) + (when user (format "-U %s" user)) + (when password (format "-w %s" (shell-quote-argument password) )) + (when database (format "-d %s" database)))) + " ")) (defun org-babel-sql-convert-standard-filename (file) "Convert the file name to OS standard. @@ -208,6 +219,12 @@ footer=off -F \"\t\" %s -f %s -o %s %s" (org-babel-process-file-name in-file)) (org-babel-sql-convert-standard-filename (org-babel-process-file-name out-file)))) + (`vertica (format "vsql %s -f %s -o %s %s" + (org-babel-sql-dbstring-vertica + dbhost dbport dbuser dbpassword database) + (org-babel-process-file-name in-file) + (org-babel-process-file-name out-file) + (or cmdline ""))) (`oracle (format "sqlplus -s %s < %s > %s" (org-babel-sql-dbstring-oracle @@ -235,6 +252,7 @@ SET COLSEP '|' ((or `mssql `sqsh) "SET NOCOUNT ON ") + (`vertica "\\a\n") (_ "")) (org-babel-expand-body:sql body params) ;; "sqsh" requires "go" inserted at EOF. @@ -245,7 +263,7 @@ SET COLSEP '|' (progn (insert-file-contents-literally out-file) (buffer-string))) (with-temp-buffer (cond - ((memq (intern engine) '(dbi mysql postgresql sqsh)) + ((memq (intern engine) '(dbi mysql postgresql sqsh vertica)) ;; Add header row delimiter after column-names header in first line (cond (colnames-p -- 2.10.1 (Apple Git-78)