Function: org-babel-execute:sqlite
org-babel-execute:sqlite is a byte-compiled function defined in
ob-sqlite.el.gz.
Signature
(org-babel-execute:sqlite BODY PARAMS)
Documentation
Execute a block of Sqlite code with Babel.
This function is called by org-babel-execute-src-block.
Source Code
;; Defined in /usr/src/emacs/lisp/org/ob-sqlite.el.gz
(defun org-babel-execute:sqlite (body params)
"Execute a block of Sqlite code with Babel.
This function is called by `org-babel-execute-src-block'."
(let ((result-params (split-string (or (cdr (assq :results params)) "")))
(db (cdr (assq :db params)))
(separator (cdr (assq :separator params)))
(nullvalue (cdr (assq :nullvalue params)))
(headers-p (equal "yes" (cdr (assq :colnames params))))
(others (delq nil (mapcar
(lambda (arg) (car (assq arg params)))
(list :header :echo :bail :column
:csv :html :line :list)))))
(unless db (error "ob-sqlite: can't evaluate without a database"))
(with-temp-buffer
(insert
(org-babel-eval
(org-fill-template
"%cmd %header %separator %nullvalue %others %csv %db "
(list
(cons "cmd" org-babel-sqlite3-command)
(cons "header" (if headers-p "-header" "-noheader"))
(cons "separator"
(if separator (format "-separator %s" separator) ""))
(cons "nullvalue"
(if nullvalue (format "-nullvalue %s" nullvalue) ""))
(cons "others"
(mapconcat
(lambda (arg) (format "-%s" (substring (symbol-name arg) 1)))
others " "))
;; for easy table parsing, default header type should be -csv
(cons "csv" (if (or (member :csv others) (member :column others)
(member :line others) (member :list others)
(member :html others) separator)
""
"-csv"))
(cons "db " db)))
;; body of the code block
(org-babel-expand-body:sqlite body params)))
(org-babel-result-cond result-params
(buffer-string)
(if (equal (point-min) (point-max))
""
(org-table-convert-region (point-min) (point-max)
(if (or (member :csv others)
(member :column others)
(member :line others)
(member :list others)
(member :html others) separator)
nil
'(4)))
(org-babel-sqlite-table-or-scalar
(org-babel-sqlite-offset-colnames
(org-table-to-lisp) headers-p)))))))