[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] sqlite3 in org-babel
From: |
Eric Schulte |
Subject: |
Re: [O] sqlite3 in org-babel |
Date: |
Wed, 15 Feb 2012 08:16:39 -0700 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.93 (gnu/linux) |
Hi Daniel,
Have you tried using a sqlite code block? See ob-sqlite.el
Best,
Daniel Clemente <address@hidden> 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/