From mboxrd@z Thu Jan 1 00:00:00 1970 From: Cecil Westerhof Subject: Re: A strange problem with org-babel and SQLite Date: Sat, 1 Sep 2018 11:12:57 +0200 Message-ID: References: <20180831111725.3aeba880@lt70.mpip-mainz.mpg.de> <20180831132244.6ebcc9df@lt70.mpip-mainz.mpg.de> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000db7e250574cbb673" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33589) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fw1xl-0001ZF-AW for emacs-orgmode@gnu.org; Sat, 01 Sep 2018 05:13:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fw1xk-0005hU-3s for emacs-orgmode@gnu.org; Sat, 01 Sep 2018 05:13:01 -0400 Received: from mail-oi0-x22f.google.com ([2607:f8b0:4003:c06::22f]:38856) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fw1xj-0005gi-RY for emacs-orgmode@gnu.org; Sat, 01 Sep 2018 05:13:00 -0400 Received: by mail-oi0-x22f.google.com with SMTP id x197-v6so25874541oix.5 for ; Sat, 01 Sep 2018 02:12:59 -0700 (PDT) In-Reply-To: <20180831132244.6ebcc9df@lt70.mpip-mainz.mpg.de> 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" To: emacs-orgmode@gnu.org --000000000000db7e250574cbb673 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 2018-08-31 13:22 GMT+02:00 Robert Klein : > On Fri, 31 Aug 2018 12:24:33 +0200 > Cecil Westerhof wrote: > > > 2018-08-31 11:17 GMT+02:00 Robert Klein : > > > > > Hi Cecil, > > > > > > On Fri, 31 Aug 2018 10:47:50 +0200 > > > Cecil Westerhof wrote: > > > > > > > I have a strange problem with org-babel and SQLite. > > > > > > > > I have a database that is created with: > > > > CREATE TABLE "quotes" ( > > > > quoteID TEXT PRIMARY KEY, > > > > quote TEXT NOT NULL UNIQUE, > > > > lastUsed TEXT, > > > > totalUsed INT DEFAULT 'unused' > > > > ) > > > > > > > > When using: > > > > #+BEGIN_SRC sqlite :db ~/Twitter/twitter.sqlite :colnames yes > > > > SELECT lastUsed > > > > , totalUsed > > > > FROM quotes > > > > ORDER BY lastused ASC > > > > , totalUsed DESC > > > > LIMIT 40 > > > > #+END_SRC > > > > > > > > Everything is fine. But when I use (add the quote field in the > > > > select): #+BEGIN_SRC sqlite :db > > > > ~/Twitter/twitter.sqlite :colnames yes SELECT quote > > > > , lastUsed > > > > , totalUsed > > > > FROM quotes > > > > ORDER BY lastused ASC > > > > , totalUsed DESC > > > > LIMIT 40 > > > > #+END_SRC > > > > > > > > I get: > > > > executing Sqlite code block... > > > > Wrote /tmp/babel-27920y_/ob-input-2792BTG > > > > org-babel-read: End of file during parsing > > > > > > > > What could be the problem? > > > > > > > > > > does it work outside of org/babel/emacs, that is, when you use the > > > query in a command line sqlite session, does it work? =E2=80=9Cquote= =E2=80=9D is > > > also a function in sqlite, so this might be your issue. > > > > > > > Yes, in sqlite3 and sqlitebrowser it works without problems. > > In org-babel even 'SELECT *' goes wrong. > > > > I can't reproduce the issue, it works for me. What are your org-mode > and Emacs versions? > GNU Emacs 25.1.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.11) of 2017-09-15, modified by Debian Org-mode version 8.2.10 (release_8.2.10 @ /usr/share/emacs/25.1/lisp/org/) > > Can you provide an ECM (Example, complete, minimal) org-mode setup / > Emacs initialization file? > (add-hook 'org-babel-after-execute-hook 'bh/display-inline-images 'append) ; Make babel results blocks lowercase (setq org-babel-results-keyword "results") (defun bh/display-inline-images () (condition-case nil (org-display-inline-images) (error nil))) (org-babel-do-load-languages (quote org-babel-load-languages) (quote ((emacs-lisp . t) (sqlite . t) (dot . t) (ditaa . t) (R . t) (python . t) (ruby . t) (gnuplot . t) (clojure . t) (sh . t) (ledger . t) (org . t) (plantuml . t) (latex . t)))) ; Do not prompt to confirm evaluation ; This may be dangerous - make sure you understand the consequences ; of setting this -- see the docstring for details (setq org-confirm-babel-evaluate nil) ; Use fundamental mode when editing plantuml blocks with C-c ' (add-to-list 'org-src-lang-modes (quote ("plantuml" . fundamental))) Is this what you need, or do you need more? --=20 Cecil Westerhof --000000000000db7e250574cbb673 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
2018-08-31 13:22 GMT+02:00 R= obert Klein <roklein@roklein.de>:
On Fri, 31 Aug 2018 12:24:33 +0200
Cecil Westerhof <cldwesterhof@gmail.com> wrote:

> 2018-08-31 11:17 GMT+02:00 Robert Klein <roklein@roklein.de>:
>
> > Hi Cecil,
> >
> > On Fri, 31 Aug 2018 10:47:50 +0200
> > Cecil Westerhof <cld= westerhof@gmail.com> wrote:
> >=C2=A0
> > > I have a strange problem with org-babel and SQLite.
> > >
> > > I have a database that is created with:
> > >=C2=A0 =C2=A0 =C2=A0CREATE TABLE "quotes" (
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0quoteID=C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0TEXT=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0PRIMARY KEY,
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0quote=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0TEXT NOT NULL=C2=A0 UNIQUE,
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0lastUsed=C2=A0 =C2=A0 =C2= =A0 =C2=A0 TEXT,
> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0totalUsed=C2=A0 =C2=A0 =C2= =A0 =C2=A0INT=C2=A0 DEFAULT 'unused'
> > >=C2=A0 =C2=A0 =C2=A0)
> > >
> > > When using:
> > >=C2=A0 =C2=A0 =C2=A0#+BEGIN_SRC sqlite :db ~/Twitter/twitter.= sqlite :colnames yes
> > >=C2=A0 =C2=A0 =C2=A0SELECT=C2=A0 =C2=A0lastUsed
> > >=C2=A0 =C2=A0 =C2=A0,=C2=A0 =C2=A0 =C2=A0 =C2=A0 totalUsed > > >=C2=A0 =C2=A0 =C2=A0FROM=C2=A0 =C2=A0 =C2=A0quotes
> > >=C2=A0 =C2=A0 =C2=A0ORDER BY lastused=C2=A0 ASC
> > >=C2=A0 =C2=A0 =C2=A0,=C2=A0 =C2=A0 =C2=A0 =C2=A0 totalUsed DE= SC
> > >=C2=A0 =C2=A0 =C2=A0LIMIT=C2=A0 =C2=A0 40
> > >=C2=A0 =C2=A0 =C2=A0#+END_SRC
> > >
> > > Everything is fine. But when I use (add the quote field in t= he
> > > select): #+BEGIN_SRC sqlite :db
> > > ~/Twitter/twitter.sqlite :colnames yes SELECT=C2=A0 =C2=A0qu= ote
> > >=C2=A0 =C2=A0 =C2=A0,=C2=A0 =C2=A0 =C2=A0 =C2=A0 lastUsed
> > >=C2=A0 =C2=A0 =C2=A0,=C2=A0 =C2=A0 =C2=A0 =C2=A0 totalUsed > > >=C2=A0 =C2=A0 =C2=A0FROM=C2=A0 =C2=A0 =C2=A0quotes
> > >=C2=A0 =C2=A0 =C2=A0ORDER BY lastused=C2=A0 ASC
> > >=C2=A0 =C2=A0 =C2=A0,=C2=A0 =C2=A0 =C2=A0 =C2=A0 totalUsed DE= SC
> > >=C2=A0 =C2=A0 =C2=A0LIMIT=C2=A0 =C2=A0 40
> > >=C2=A0 =C2=A0 =C2=A0#+END_SRC
> > >
> > > I get:
> > >=C2=A0 =C2=A0 =C2=A0executing Sqlite code block...
> > >=C2=A0 =C2=A0 =C2=A0Wrote /tmp/babel-27920y_/ob-input-27= 92BTG
> > >=C2=A0 =C2=A0 =C2=A0org-babel-read: End of file during parsin= g
> > >
> > > What could be the problem?
> > >=C2=A0
> >
> > does it work outside of org/babel/emacs, that is, when you use th= e
> > query in a command line sqlite session, does it work?=C2=A0 =E2= =80=9Cquote=E2=80=9D is
> > also a function in sqlite, so this might be your issue.
> >=C2=A0
>
> Yes, in sqlite3 and sqlitebrowser it works without problems.
> In org-babel even 'SELECT *' goes wrong.
>

I can't reproduce the issue, it works for me.=C2=A0 What ar= e your org-mode
and Emacs versions?

GNU Emacs 2= 5.1.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.11) of 2017-09-15, modified b= y Debian
Org-mode version 8.2.10 (release_8.2.10 @ /usr/share/emacs/25.1= /lisp/org/)
=C2=A0

Can you provide an ECM (Example, complete, minimal) org-mode setup /
Emacs initialization file?
=C2=A0
(add-hook '= org-babel-after-execute-hook 'bh/display-inline-images 'append)
=
; Make babel results blocks lowercase
(setq org-babel-results-keywor= d "results")

(defun bh/display-inline-images ()
=C2=A0 = (condition-case nil
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (org-display-inline-i= mages)
=C2=A0=C2=A0=C2=A0 (error nil)))

(org-babel-do-load-langua= ges
=C2=A0(quote org-babel-load-languages)
=C2=A0(quote ((emacs-lisp = . t)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (sqlite . t)
= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (dot . t)
=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (ditaa . t)
=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 (R . t)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 (python . t)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 (ruby . t)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (gnuplot= . t)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (clojure . t)
= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (sh . t)
=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (ledger . t)
=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 (org . t)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 (plantuml . t)
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 (latex . t))))

; Do not prompt to confirm evaluation
; = This may be dangerous - make sure you understand the consequences
; of s= etting this -- see the docstring for details
(setq org-confirm-babel-eva= luate nil)

; Use fundamental mode when editing plantuml blocks with = C-c '
(add-to-list 'org-src-lang-modes (quote ("plantuml&qu= ot; . fundamental)))

Is this what you need, or do you need m= ore?

--
Cecil Westerhof
--000000000000db7e250574cbb673--