mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-09-29 22:47:56 +00:00
babel: ob-sqlite now handles column names
* lisp/babel/langs/ob-sqlite.el (org-babel-execute:sqlite): now handling column names (org-babel-sqlite-offset-colnames): now handling column names
This commit is contained in:
parent
0f633df264
commit
5769cccd6a
|
@ -45,19 +45,23 @@
|
|||
called by `org-babel-execute-src-block'."
|
||||
(message "executing Sqlite source code block")
|
||||
(let ((result-params (split-string (or (cdr (assoc :results params)) "")))
|
||||
(vars (org-babel-ref-variables params)))
|
||||
(vars (org-babel-ref-variables params))
|
||||
(headers-p (equal "yes" (cdr (assoc :colnames params)))))
|
||||
(with-temp-buffer
|
||||
(insert
|
||||
(shell-command-to-string
|
||||
(format "%s -csv %s %S"
|
||||
(format "%s %s -csv %s %S"
|
||||
org-babel-sqlite3-command
|
||||
(if headers-p "-header" "")
|
||||
(cdr (assoc :db params))
|
||||
(org-babel-sqlite-expand-vars body vars))))
|
||||
(if (or (member "scalar" result-params)
|
||||
(member "code" result-params))
|
||||
(buffer-string)
|
||||
(org-table-convert-region (point-min) (point-max))
|
||||
(org-babel-sqlite-table-or-scalar (org-table-to-lisp))))))
|
||||
(org-babel-sqlite-table-or-scalar
|
||||
(org-babel-sqlite-offset-colnames
|
||||
(org-table-to-lisp) headers-p))))))
|
||||
|
||||
(defun org-babel-sqlite-expand-vars (body vars)
|
||||
"Expand the variables held in VARS in BODY."
|
||||
|
@ -77,6 +81,12 @@ called by `org-babel-execute-src-block'."
|
|||
(caar result)
|
||||
result))
|
||||
|
||||
(defun org-babel-sqlite-offset-colnames (table headers-p)
|
||||
"If HEADERS-P is non-nil then offset the first row as column names."
|
||||
(if headers-p
|
||||
(cons (car table) (cons 'hline (cdr table)))
|
||||
table))
|
||||
|
||||
(defun org-babel-prep-session:sqlite (session params)
|
||||
"Prepare SESSION according to the header arguments specified in PARAMS."
|
||||
(error "sqlite sessions not yet implemented"))
|
||||
|
|
Loading…
Reference in a new issue