فهرست منبع

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
Eric Schulte 15 سال پیش
والد
کامیت
5769cccd6a
1فایلهای تغییر یافته به همراه13 افزوده شده و 3 حذف شده
  1. 13 3
      lisp/babel/langs/ob-sqlite.el

+ 13 - 3
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"))