mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-09-30 05:07:48 +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'."
|
called by `org-babel-execute-src-block'."
|
||||||
(message "executing Sqlite source code block")
|
(message "executing Sqlite source code block")
|
||||||
(let ((result-params (split-string (or (cdr (assoc :results params)) "")))
|
(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
|
(with-temp-buffer
|
||||||
(insert
|
(insert
|
||||||
(shell-command-to-string
|
(shell-command-to-string
|
||||||
(format "%s -csv %s %S"
|
(format "%s %s -csv %s %S"
|
||||||
org-babel-sqlite3-command
|
org-babel-sqlite3-command
|
||||||
|
(if headers-p "-header" "")
|
||||||
(cdr (assoc :db params))
|
(cdr (assoc :db params))
|
||||||
(org-babel-sqlite-expand-vars body vars))))
|
(org-babel-sqlite-expand-vars body vars))))
|
||||||
(if (or (member "scalar" result-params)
|
(if (or (member "scalar" result-params)
|
||||||
(member "code" result-params))
|
(member "code" result-params))
|
||||||
(buffer-string)
|
(buffer-string)
|
||||||
(org-table-convert-region (point-min) (point-max))
|
(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)
|
(defun org-babel-sqlite-expand-vars (body vars)
|
||||||
"Expand the variables held in VARS in BODY."
|
"Expand the variables held in VARS in BODY."
|
||||||
|
@ -77,6 +81,12 @@ called by `org-babel-execute-src-block'."
|
||||||
(caar result)
|
(caar result)
|
||||||
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)
|
(defun org-babel-prep-session:sqlite (session params)
|
||||||
"Prepare SESSION according to the header arguments specified in PARAMS."
|
"Prepare SESSION according to the header arguments specified in PARAMS."
|
||||||
(error "sqlite sessions not yet implemented"))
|
(error "sqlite sessions not yet implemented"))
|
||||||
|
|
Loading…
Reference in a new issue