From: "Alain Clément" <alain.clement@unil.ch>
To: Eric Schulte <schulte.eric@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: Babel sql code block issue and patch proposal
Date: Mon, 7 Mar 2011 17:24:05 +0100 [thread overview]
Message-ID: <AANLkTimkT01t58+fnq-As1aUoX8a5NB445CgpJPRjew=@mail.gmail.com> (raw)
In-Reply-To: <87sjuzeyil.fsf@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 6235 bytes --]
Hi Eric,
Thank you so much, your "fearless development" is great and very
appreciated!
Best regards,
- Alain
2011/3/7 Eric Schulte <schulte.eric@gmail.com>
> To be honest, I don't have any overly motivating reasons for passing the
> file name to mysql rather than piping the contents of the file. Aside
> from consistency with the other SQL engines, the nagging feeling that
> things are the way they are for a reason, and a healthy fear of the new
> and unknown. However development is not for cowards, I've applied your
> suggestion, and mysql is now reading input through stdin.
>
> Best -- Eric
>
> Alain Clément <alain.clement@unil.ch> writes:
>
> > Hi Eric,
> > Thanks for your message and sorry for the delay.
> > Actually, escaping characters with backslashes is the problem within
> mysql when the =SOURCE= command is invoqued. To believe the forums, it seems
> that this difficulty is well
> > known among mysql users. The suggested solution there consists in piping
> the file content via the standard input of the mysql command instead of
> making use of the =SOURCE=
> > command. In other words, let the shell do the job of finding the file as
> mysql can't. My initial suggestion for a patch relies on this conclusion and
> seems to work well. Now
> > it's time to stop my own advertising and ask you about the cons of such a
> patch.
> > Best regards and thank you again.
> > - Alain
> >
> > 2011/3/3 Eric Schulte <schulte.eric@gmail.com>
> >
> > Hi Alain,
> >
> > Would the following work (escaping "-"s with a backslash)?
> >
> > #+begin_src diff<br>
> > <div> diff --git a/lisp/ob-sql.el b/lisp/ob-sql.el<br>
> > </div> index 364070e..838f013 100644<br>
> > <div> --- a/lisp/ob-sql.el<br>
> > +++ b/lisp/ob-sql.el<br>
> > </div> @@ -73,7 +73,9 @@ This function is called by
> `org-babel-execute-src-block'."<br>
> > <div> (org-babel-process-file-name out-file)))<br>
> > ('mysql (format "mysql %s -e \"source %s\"
> > %s"<br>
> > (or cmdline "")<br>
> > - (org-babel-process-file-name in-file)<br>
> > </div> + (replace-regexp-in-string<br>
> > + "\\-" "\\\\-"<br>
> > + (org-babel-process-file-name in-file))<br>
> > <div> (org-babel-process-file-name out-file)))<br>
> > </div> ('postgresql (format<br>
> > "psql -A -P footer=off -F \"\t\" -f %s
> -o %s %s"<br>
> > #+end_src<br>
> > Best -- Eric
> >
> > Alain Cl?ment <alain.clement@unil.ch> writes:
> >
> >> Hi Eric,
> >>
> >> Thanks for your prompt answer! Actually, it doesn't work since mysql
> interprets backslashes as options, even between quotes. The value of my
> >> `org-babel-temporary-directory' is
> "/var/folders/9E/9EMu+g0oHBSrq-h9sX6i1U+++TM/-Tmp-/babel-86766893", but
> "+"'s are escaped with a backslash at some stage.
> >>
> >> Thanks,
> >> - Alain
> >>
> >> 2011/3/3 Eric Schulte <schulte.eric@gmail.com>
> >>
> >> ? ? Hi Alain,
> >>
> >> ? ? Does the following alternative fix work for you?
> >>
> >> #+begin_src diff<br>
> >> ?Changes in HEAD<br>
> >> ? ? ?Modified lisp/ob-sql.el<br>
> >> ?diff --git a/lisp/ob-sql.el b/lisp/ob-sql.el<br>
> >> ?index 364070e..604d444 100644<br>
> >> ?--- a/lisp/ob-sql.el<br>
> >> ?+++ b/lisp/ob-sql.el<br>
> >> ?@@ -71,7 +71,7 @@ This function is called by
> `org-babel-execute-src-block'."<br>
> >> ? ? ? ? ? ? ? ? ? ? (or cmdline "")<br>
> >> ? ? ? ? ? ? ? ? ? ? (org-babel-process-file-name in-file)<br>
> >> ? ? ? ? ? ? ? ? ? ? (org-babel-process-file-name out-file)))<br>
> >> ?- ? ? ? ? ?('mysql (format "mysql %s -e \"source
> %s\" > %s"<br>
> >> ?+ ? ? ? ? ?('mysql (format "mysql %s -e 'source %s'
> > %s"<br>
> >> ? ? ? ? ? ? ? ? ? ? (or cmdline "")<br>
> >> ? ? ? ? ? ? ? ? ? ?(org-babel-process-file-name in-file)<br>
> >> ? ? ? ? ? ? ? ? ? ?(org-babel-process-file-name out-file)))<br>
> >> #+end_src<br>
> >> Also, just out of curiosity would you mind sharing an example result of
> >> `org-babel-temporary-directory' which contains backslashes?
> >>
> >> Thanks -- Eric
> >>
> >> Alain Cl?ment <alain.clement@unil.ch> writes:
> >>
> >>> Hi everyone,
> >>>
> >>> The =org-babel-temp-file= string seems to be escaped with backslashes
> on
> >>> some platforms (like MacOSX), which is not very appreciated by the
> =mysql
> >>> -e= command. I suggest the following patch for =ob-sql.el= (Org-mode
> Version
> >>> 7.4 (release_7.4.590.g85d4d)):
> >>>
> >>> 74c74
> >>> < ? ? ? ? ? ? ? ? ? ? ('mysql (format "mysql %s < %s > %s"
> >>> ---
> >>>> ? ? ? ? ? ? ? ? ? ? ('mysql (format "mysql %s -e \"source %s\" > %s"
> >>>
> >>> Best regards,
> >>> -- Alain
> >>>
> >>> --
> >>>
> >>>
> >>>
> >>> Alain Cl?ment
> >>> Dr ?s sc. math?matiques
> >>>
> >>> Universit? de Lausanne
> >>> Quartier UNIL-Centre
> >>> B?timent Unicentre
> >>> Bureau 339
> >>> CH-1015 Lausanne
> >>>
> >>> T. +41 21 692 20 36 (direct)
> >>> T. +41 21 692 20 60 (secr?tariat)
> >>>
> >>> alain.clement@unil.ch
> >>
> >> --
> >>
> >> [lo_unil05_bleu]
> >>
> >> Alain Cl?ment
> >> Dr ?s sc. math?matiques
> >>
> >> Universit? de Lausanne
> >> Quartier UNIL-Centre
> >> B?timent Unicentre
> >> Bureau 339
> >> CH-1015 Lausanne
> >>
> >> T. +41 21 692 20 36 (direct)
> >> T. +41 21 692 20 60 (secr?tariat)
> >>
> >> alain.clement@unil.ch
> >
> > --
> >
> > [lo_unil05_bleu]
> >
> > Alain Cl?ment
> > Dr ?s sc. math?matiques
> >
> > Universit? de Lausanne
> > Quartier UNIL-Centre
> > B?timent Unicentre
> > Bureau 339
> > CH-1015 Lausanne
> >
> > T. +41 21 692 20 36 (direct)
> > T. +41 21 692 20 60 (secr?tariat)
> >
> > alain.clement@unil.ch
>
--
Alain Clément
Dr ès sc. mathématiques
Université de Lausanne
Quartier UNIL-Centre
Bâtiment Unicentre
Bureau 339
CH-1015 Lausanne
T. +41 21 692 20 36 (direct)
T. +41 21 692 20 60 (secrétariat)
alain.clement@unil.ch
[-- Attachment #2: Type: text/html, Size: 8961 bytes --]
prev parent reply other threads:[~2011-03-07 16:24 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-03 11:23 Babel sql code block issue and patch proposal Alain Clément
2011-03-03 13:11 ` Eric Schulte
2011-03-03 19:34 ` Alain Clément
2011-03-03 19:51 ` Eric Schulte
2011-03-07 9:15 ` Alain Clément
2011-03-07 15:33 ` Eric Schulte
2011-03-07 16:24 ` Alain Clément [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='AANLkTimkT01t58+fnq-As1aUoX8a5NB445CgpJPRjew=@mail.gmail.com' \
--to=alain.clement@unil.ch \
--cc=emacs-orgmode@gnu.org \
--cc=schulte.eric@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).