From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Schulte Subject: Re: sqlite3 in org-babel Date: Wed, 15 Feb 2012 08:16:39 -0700 Message-ID: <87d39gunxk.fsf@gmx.com> References: <87r4y2e0qh.wl%n142857@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([140.186.70.92]:55512) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RxgbE-0006tH-QV for emacs-orgmode@gnu.org; Wed, 15 Feb 2012 10:16:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rxgb6-000732-IF for emacs-orgmode@gnu.org; Wed, 15 Feb 2012 10:16:52 -0500 Received: from mailout-us.gmx.com ([74.208.5.67]:46819) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1Rxgb6-00072v-B7 for emacs-orgmode@gnu.org; Wed, 15 Feb 2012 10:16:44 -0500 In-Reply-To: <87r4y2e0qh.wl%n142857@gmail.com> (Daniel Clemente's message of "Sat, 11 Feb 2012 00:18:30 +0100") 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: Daniel Clemente Cc: org-mode Mailinglist Hi Daniel, Have you tried using a sqlite code block? See ob-sqlite.el Best, Daniel Clemente writes: > 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 > -- Eric Schulte http://cs.unm.edu/~eschulte/