emacs-orgmode
[Top][All Lists]
Advanced

[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/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]