From: Alexander Vorobiev <alexander.vorobiev@gmail.com>
To: "Thomas S. Dye" <tsd@tsdye.com>
Cc: emacs-orgmode <emacs-orgmode@gnu.org>
Subject: Re: [Babel][R] Inclusion of multi-line named code blocks in R code
Date: Thu, 19 Sep 2013 10:14:56 -0500 [thread overview]
Message-ID: <CAGOCFPWzpYHsS_c1cUyGoDkt1L2RmJ90060H_H094m4xE8UYZQ@mail.gmail.com> (raw)
In-Reply-To: <CAGOCFPVPGTDVNKME=qtRXp8OAsv1zthcU0jjT+mpR+wB+YXymw@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3787 bytes --]
I found an answer to my question. It turned out this behavior is described
in the documentation for org-babel-expand-noweb-references:
"Note that any text preceding the <<foo>> construct on a line will be
interposed between the lines of the replacement text. So for example if
<<foo>> is placed behind a comment, then the entire replacement text will
also be commented."
It is also documented in the manual
http://orgmode.org/manual/noweb.html#noweb in the "Noweb prefix lines"
section.
So, in my case the solution is to put the <<long-sql>> reference on the
next line:
#+begin_src R :session *R* :noweb yes
result <- submit_query("
<<long-sql>>")
#+end_src
It doesn't look as nice as before but it works.
Alex
On Wed, Sep 18, 2013 at 7:43 PM, Alexander Vorobiev <
alexander.vorobiev@gmail.com> wrote:
> Hi Tom,
>
> Unfortunately I can't have pure SQL output in my org files for two reasons:
>
> 1. The result set I am dealing with for this particular problem is about
> 20000 records
> 2. My SQL server (Netezza, "big data appliance") is not supported by
> Babel-SQL. I configured sql-mode to work with Netezza but session-based SQL
> is not supported by Babel either. I started adding support for SQL sessions
> to ob-sql.el and it kind of works but the results I am getting are
> inconsistent and only a small subset of header parameters is supported. Of
> course I haven't tested is with any other database. I can share what I've
> done if anybody is interested.
>
> Regards,
> Alex
>
>
> On Wed, Sep 18, 2013 at 5:27 PM, Thomas S. Dye <tsd@tsdye.com> wrote:
>
>> Aloha Alex,
>>
>> My work flow in this situation evaluates the SQL to create an Org-mode
>> table, which serves as input to the R source code block.
>>
>> For me, seeing the SQL output in a table is a sanity check.
>>
>> hth,
>> Tom
>>
>> Alexander Vorobiev <alexander.vorobiev@gmail.com> writes:
>>
>> > I have R code which submits SQL statements to a database server. Since
>> the
>> > SQL is rather complex, I want to put it into a separate code block in
>> order
>> > to have proper formatting, syntax highlighting, etc:
>> >
>> > #+name: long-sql
>> > #+begin_src sql
>> > select *
>> > from many, tables
>> > where
>> > complex_condition1 = 1,
>> > complex_condition2 = 2
>> > #+end_src
>> >
>> > * Load the data to R session
>> > #+begin_src R :session *R* :noweb yes
>> > result <- submit_query('<<long-sql>>')
>> > #+end_src
>> >
>> > Unfortunately, the R block doesn't work. When I open the file generated
>> by
>> > Babel, I see this:
>> >
>> > result <- submit_query('select *
>> > result <- submit_query('from many, tables
>> > etc
>> >
>> > instead of the one R submit_query call with my SQL statement as an
>> > argument. Is there anything I can do to achieve that?
>> >
>> > Thanks
>> > Alex
>> > I have R code which submits SQL statements to a database server. Since
>> > the SQL is rather complex, I want to put it into a separate code block
>> > in order to have proper formatting, syntax highlighting, etc:
>> >
>> > #+name: long-sql
>> > #+begin_src sql
>> > select *
>> > from many, tables
>> > where
>> > complex_condition1 = 1,
>> > complex_condition2 = 2
>> > #+end_src
>> >
>> > * Load the data to R session
>> > #+begin_src R :session *R* :noweb yes
>> > result <- submit_query('<<long-sql>>')
>> > #+end_src
>> >
>> > Unfortunately, the R block doesn't work. When I open the file
>> > generated by Babel, I see this:
>> >
>> > result <- submit_query('select *
>> > result <- submit_query('from many, tables
>> > etc
>> >
>> > instead of the one R submit_query call with my SQL statement as an
>> > argument. Is there anything I can do to achieve that?
>> >
>> > Thanks
>> > Alex
>> >
>> >
>>
>> --
>> Thomas S. Dye
>> http://www.tsdye.com
>>
>
>
[-- Attachment #2: Type: text/html, Size: 5988 bytes --]
next prev parent reply other threads:[~2013-09-19 15:15 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-18 21:51 [Babel][R] Inclusion of multi-line named code blocks in R code Alexander Vorobiev
2013-09-18 22:27 ` Thomas S. Dye
2013-09-19 0:43 ` Alexander Vorobiev
2013-09-19 15:14 ` Alexander Vorobiev [this message]
2013-10-07 15:42 ` Thomas S. Dye
2013-10-07 20:58 ` Alexander Vorobiev
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=CAGOCFPWzpYHsS_c1cUyGoDkt1L2RmJ90060H_H094m4xE8UYZQ@mail.gmail.com \
--to=alexander.vorobiev@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=tsd@tsdye.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).