emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] [Orgmode] Babel sql code block issue and patch proposal


From: Eric Schulte
Subject: Re: [O] [Orgmode] Babel sql code block issue and patch proposal
Date: Thu, 03 Mar 2011 12:51:15 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Hi Alain,

Would the following work (escaping "-"s with a backslash)?

#+begin_src diff
  diff --git a/lisp/ob-sql.el b/lisp/ob-sql.el
  index 364070e..838f013 100644
  --- a/lisp/ob-sql.el
  +++ b/lisp/ob-sql.el
  @@ -73,7 +73,9 @@ This function is called by `org-babel-execute-src-block'."
                                        (org-babel-process-file-name out-file)))
                       ('mysql (format "mysql %s -e \"source %s\" > %s"
                                       (or cmdline "")
  -                                 (org-babel-process-file-name in-file)
  +                                 (replace-regexp-in-string
  +                                  "\\-" "\\\\-"
  +                                  (org-babel-process-file-name in-file))
                                      (org-babel-process-file-name out-file)))
                      ('postgresql (format
                                    "psql -A -P footer=off -F \"\t\"  -f %s -o 
%s %s"
#+end_src

Best -- Eric

Alain Clément <address@hidden> 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 <address@hidden>
>
>     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&#39;.&quot;<br>
>                     (or cmdline &quot;&quot;)<br>
>                     (org-babel-process-file-name in-file)<br>
>                     (org-babel-process-file-name out-file)))<br>
>  -          (&#39;mysql (format &quot;mysql %s -e \&quot;source %s\&quot; 
> &gt; %s&quot;<br>
>  +          (&#39;mysql (format &quot;mysql %s -e &#39;source %s&#39; &gt; 
> %s&quot;<br>
>                     (or cmdline &quot;&quot;)<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 <address@hidden> 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)
>>
>> address@hidden
>
> --
>
> [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)
>
> address@hidden



reply via email to

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