From 5769cccd6aa7acf084eb1edf1b90dae5273b7074 Mon Sep 17 00:00:00 2001 From: Eric Schulte Date: Wed, 16 Jun 2010 13:12:31 -0700 Subject: [PATCH] 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 --- lisp/babel/langs/ob-sqlite.el | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/lisp/babel/langs/ob-sqlite.el b/lisp/babel/langs/ob-sqlite.el index 1311c5aa5..fa95b3f33 100644 --- a/lisp/babel/langs/ob-sqlite.el +++ b/lisp/babel/langs/ob-sqlite.el @@ -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")) -- 2.11.4.GIT