diff options
Diffstat (limited to 'lisp/org/ob-sqlite.el')
| -rw-r--r-- | lisp/org/ob-sqlite.el | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/lisp/org/ob-sqlite.el b/lisp/org/ob-sqlite.el index d1fa9ac4c5f..65e8091741f 100644 --- a/lisp/org/ob-sqlite.el +++ b/lisp/org/ob-sqlite.el | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | ;;; ob-sqlite.el --- org-babel functions for sqlite database interaction | 1 | ;;; ob-sqlite.el --- org-babel functions for sqlite database interaction |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2010 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2010 Free Software Foundation |
| 4 | 4 | ||
| 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.3 | 8 | ;; Version: 7.4 |
| 9 | 9 | ||
| 10 | ;; This file is part of GNU Emacs. | 10 | ;; This file is part of GNU Emacs. |
| 11 | 11 | ||
| @@ -28,6 +28,7 @@ | |||
| 28 | 28 | ||
| 29 | ;;; Code: | 29 | ;;; Code: |
| 30 | (require 'ob) | 30 | (require 'ob) |
| 31 | (require 'ob-eval) | ||
| 31 | (require 'ob-ref) | 32 | (require 'ob-ref) |
| 32 | 33 | ||
| 33 | (declare-function org-fill-template "org" (template alist)) | 34 | (declare-function org-fill-template "org" (template alist)) |
| @@ -52,7 +53,6 @@ | |||
| 52 | "Execute a block of Sqlite code with Babel. | 53 | "Execute a block of Sqlite code with Babel. |
| 53 | This function is called by `org-babel-execute-src-block'." | 54 | This function is called by `org-babel-execute-src-block'." |
| 54 | (let ((result-params (split-string (or (cdr (assoc :results params)) ""))) | 55 | (let ((result-params (split-string (or (cdr (assoc :results params)) ""))) |
| 55 | (vars (org-babel-get-header params :var)) | ||
| 56 | (db (cdr (assoc :db params))) | 56 | (db (cdr (assoc :db params))) |
| 57 | (separator (cdr (assoc :separator params))) | 57 | (separator (cdr (assoc :separator params))) |
| 58 | (nullvalue (cdr (assoc :nullvalue params))) | 58 | (nullvalue (cdr (assoc :nullvalue params))) |
| @@ -65,15 +65,10 @@ This function is called by `org-babel-execute-src-block'." | |||
| 65 | (unless db (error "ob-sqlite: can't evaluate without a database.")) | 65 | (unless db (error "ob-sqlite: can't evaluate without a database.")) |
| 66 | (with-temp-buffer | 66 | (with-temp-buffer |
| 67 | (insert | 67 | (insert |
| 68 | (shell-command-to-string | 68 | (org-babel-eval |
| 69 | (org-fill-template | 69 | (org-fill-template |
| 70 | "%cmd -init %body %header %separator %nullvalue %others %csv %db " | 70 | "%cmd %header %separator %nullvalue %others %csv %db " |
| 71 | (list | 71 | (list |
| 72 | (cons "body" ((lambda (sql-file) | ||
| 73 | (with-temp-file sql-file | ||
| 74 | (insert (org-babel-expand-body:sqlite body params))) | ||
| 75 | sql-file) | ||
| 76 | (org-babel-temp-file "sqlite-sql-"))) | ||
| 77 | (cons "cmd" org-babel-sqlite3-command) | 72 | (cons "cmd" org-babel-sqlite3-command) |
| 78 | (cons "header" (if headers-p "-header" "-noheader")) | 73 | (cons "header" (if headers-p "-header" "-noheader")) |
| 79 | (cons "separator" | 74 | (cons "separator" |
| @@ -90,7 +85,9 @@ This function is called by `org-babel-execute-src-block'." | |||
| 90 | (member :html others) separator) | 85 | (member :html others) separator) |
| 91 | "" | 86 | "" |
| 92 | "-csv")) | 87 | "-csv")) |
| 93 | (cons "db " db))))) | 88 | (cons "db " db))) |
| 89 | ;; body of the code block | ||
| 90 | (org-babel-expand-body:sqlite body params))) | ||
| 94 | (if (or (member "scalar" result-params) | 91 | (if (or (member "scalar" result-params) |
| 95 | (member "html" result-params) | 92 | (member "html" result-params) |
| 96 | (member "code" result-params) | 93 | (member "code" result-params) |