aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/org/ob-sql.el
diff options
context:
space:
mode:
authorCarsten Dominik2010-11-11 22:10:19 -0600
committerCarsten Dominik2010-11-11 22:10:19 -0600
commitafe98dfa700de5cf0493e8bf95b7d894e2734e47 (patch)
tree92a812b353bb09c1286e8a44fb552de9f1af3384 /lisp/org/ob-sql.el
parentdf26e1f58a7e484b7ed500ea48d0e1c49345ffbf (diff)
downloademacs-afe98dfa700de5cf0493e8bf95b7d894e2734e47.tar.gz
emacs-afe98dfa700de5cf0493e8bf95b7d894e2734e47.zip
Install org-mode version 7.3
Diffstat (limited to 'lisp/org/ob-sql.el')
-rw-r--r--lisp/org/ob-sql.el28
1 files changed, 16 insertions, 12 deletions
diff --git a/lisp/org/ob-sql.el b/lisp/org/ob-sql.el
index 184c755f7b8..78e8a3b4377 100644
--- a/lisp/org/ob-sql.el
+++ b/lisp/org/ob-sql.el
@@ -5,7 +5,7 @@
5;; Author: Eric Schulte 5;; Author: Eric Schulte
6;; Keywords: literate programming, reproducible research 6;; Keywords: literate programming, reproducible research
7;; Homepage: http://orgmode.org 7;; Homepage: http://orgmode.org
8;; Version: 7.01 8;; Version: 7.3
9 9
10;; This file is part of GNU Emacs. 10;; This file is part of GNU Emacs.
11 11
@@ -50,33 +50,37 @@
50 50
51(defvar org-babel-default-header-args:sql '()) 51(defvar org-babel-default-header-args:sql '())
52 52
53(defun org-babel-expand-body:sql (body params &optional processed-params)
54 "Expand BODY according to PARAMS, return the expanded body." body)
55
56(defun org-babel-execute:sql (body params) 53(defun org-babel-execute:sql (body params)
57 "Execute a block of Sql code with Babel. 54 "Execute a block of Sql code with Babel.
58This function is called by `org-babel-execute-src-block'." 55This function is called by `org-babel-execute-src-block'."
59 (let* ((result-params (split-string (or (cdr (assoc :results params)) ""))) 56 (let* ((result-params (cdr (assoc :result-params params)))
60 (processed-params (org-babel-process-params params))
61 (cmdline (cdr (assoc :cmdline params))) 57 (cmdline (cdr (assoc :cmdline params)))
62 (engine (cdr (assoc :engine params))) 58 (engine (cdr (assoc :engine params)))
63 (in-file (make-temp-file "org-babel-sql-in")) 59 (in-file (org-babel-temp-file "sql-in-"))
64 (out-file (or (cdr (assoc :out-file params)) 60 (out-file (or (cdr (assoc :out-file params))
65 (make-temp-file "org-babel-sql-out"))) 61 (org-babel-temp-file "sql-out-")))
66 (command (case (intern engine) 62 (command (case (intern engine)
67 ('mysql (format "mysql %s -e \"source %s\" > %s" 63 ('mysql (format "mysql %s -e \"source %s\" > %s"
68 (or cmdline "") in-file out-file)) 64 (or cmdline "")
65 (org-babel-process-file-name in-file)
66 (org-babel-process-file-name out-file)))
67 ('postgresql (format "psql -A -P footer=off -F \"\t\" -f %s -o %s %s"
68 (org-babel-process-file-name in-file)
69 (org-babel-process-file-name out-file)
70 (or cmdline "")))
69 (t (error "no support for the %s sql engine" engine))))) 71 (t (error "no support for the %s sql engine" engine)))))
70 (with-temp-file in-file 72 (with-temp-file in-file
71 (insert (org-babel-expand-body:sql body params))) 73 (insert (org-babel-expand-body:generic body params)))
72 (message command) 74 (message command)
73 (shell-command command) 75 (shell-command command)
74 (with-temp-buffer 76 (with-temp-buffer
75 (org-table-import out-file nil) 77 (org-table-import out-file nil)
76 (org-babel-reassemble-table 78 (org-babel-reassemble-table
77 (org-table-to-lisp) 79 (org-table-to-lisp)
78 (org-babel-pick-name (nth 4 processed-params) (cdr (assoc :colnames params))) 80 (org-babel-pick-name (cdr (assoc :colname-names params))
79 (org-babel-pick-name (nth 5 processed-params) (cdr (assoc :rownames params))))))) 81 (cdr (assoc :colnames params)))
82 (org-babel-pick-name (cdr (assoc :rowname-names params))
83 (cdr (assoc :rownames params)))))))
80 84
81 85
82(defun org-babel-prep-session:sql (session params) 86(defun org-babel-prep-session:sql (session params)