From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Clemente Subject: sqlite3 in org-babel Date: Sat, 11 Feb 2012 00:18:30 +0100 Message-ID: <87r4y2e0qh.wl%n142857@gmail.com> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Return-path: Received: from eggs.gnu.org ([140.186.70.92]:39320) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rvzjj-0004Yn-ST for emacs-orgmode@gnu.org; Fri, 10 Feb 2012 18:18:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rvzji-0001jf-Mv for emacs-orgmode@gnu.org; Fri, 10 Feb 2012 18:18:39 -0500 Received: from mail-ww0-f41.google.com ([74.125.82.41]:35279) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rvzji-0001jQ-AM for emacs-orgmode@gnu.org; Fri, 10 Feb 2012 18:18:38 -0500 Received: by wgbdt11 with SMTP id dt11so1064604wgb.0 for ; Fri, 10 Feb 2012 15:18:37 -0800 (PST) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: org-mode Mailinglist Hi, org-babel works well with sqlite3 if you add this (which I propose for inclusion): ------------------------- diff --git a/lisp/ob-sql.el b/lisp/ob-sql.el index 3f7882c..a59db7a 100644 --- a/lisp/ob-sql.el +++ b/lisp/ob-sql.el @@ -82,6 +82,10 @@ This function is called by `org-babel-execute-src-block'." (org-babel-process-file-name in-file) (org-babel-process-file-name out-file) (or cmdline ""))) + ('sqlite3 (format "sqlite3 %s < %s > %s" + (or cmdline "") + (org-babel-process-file-name in-file) + (org-babel-process-file-name out-file))) (t (error "no support for the %s sql engine" engine))))) (with-temp-file in-file (insert (org-babel-expand-body:sql body params))) ------------------------- Then you can use it in this way: #+BEGIN_SRC sql :cmdline "-header -list ~/pruebas.sqlite3" :engine sqlite3 select * from web_categorias; #+END_SRC It's very useful! Org's results table is more interactive than the one you can see in sql-mode (M-x sql-sqlite). By the way, the code in ob-sql.el attempts to remove final newlines. I use (setq require-final-newline 'ask) and I am being asked about the temporary buffer, which is wrong. So I also propose this patch: ---------------------------- diff --git a/lisp/ob-sql.el b/lisp/ob-sql.el index 3f7882c..8df0d98 100644 --- a/lisp/ob-sql.el +++ b/lisp/ob-sql.el @@ -107,7 +107,8 @@ This function is called by `org-babel-execute-src-block'." (delete-char 1) (goto-char (point-max)) (forward-char -1)) - (write-file out-file)) + (let ((require-final-newline nil)) + (write-file out-file))) (org-table-import out-file '(16)) (org-babel-reassemble-table (mapcar (lambda (x) ---------------------------- Greetings, Daniel