emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [BUG] ob-sqlite: can not override header argument
@ 2023-08-17 16:25 Max Nikulin
  2023-08-17 18:03 ` Ihor Radchenko
  0 siblings, 1 reply; 4+ messages in thread
From: Max Nikulin @ 2023-08-17 16:25 UTC (permalink / raw)
  To: emacs-orgmode

It seems there is no way to override for a specific code block header 
arguments specified for the whole file through #+property:

#+property: header-args:sqlite :header
#+begin_src elisp :results none
   (require 'ob-sqlite)
#+end_src

I have tried "nil", etc. for ":header", but column names are always 
added to results.

#+begin_src sqlite :results verbatim :header no
   	select 1 as "one", 2 as "two"
#+end_src

#+RESULTS:
: one,two
: 1,2

Bonus: it seems condition for :csv is inverted, so -csv is always added. 
I have not managed to override comma using :separator since -csv is 
added later.

I am just testing a patch for ob-sqlite, I am not a real user of it.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [BUG] ob-sqlite: can not override header argument
  2023-08-17 16:25 [BUG] ob-sqlite: can not override header argument Max Nikulin
@ 2023-08-17 18:03 ` Ihor Radchenko
  2023-08-18 11:06   ` Max Nikulin
  0 siblings, 1 reply; 4+ messages in thread
From: Ihor Radchenko @ 2023-08-17 18:03 UTC (permalink / raw)
  To: Max Nikulin; +Cc: emacs-orgmode

Max Nikulin <manikulin@gmail.com> writes:

> It seems there is no way to override for a specific code block header 
> arguments specified for the whole file through #+property:
>
> #+property: header-args:sqlite :header
> #+begin_src elisp :results none
>    (require 'ob-sqlite)
> #+end_src
>
> I have tried "nil", etc. for ":header", but column names are always 
> added to results.

Yes, it is not.
https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-sqlite.html

    header
    if present, turn on headers in the output format. 

Mere presence of this header argument triggers inclusion. Nothing is
said about overriding it.

I think that we may allow :header/:echo/:bail/... no to disable the cmd
switches. Patches welcome!

> Bonus: it seems condition for :csv is inverted, so -csv is always added. 
> I have not managed to override comma using :separator since -csv is 
> added later.

The source says

	  ;; for easy table parsing, default header type should be -csv
	  (cons "csv" (if (or (member :csv others) (member :column others)
			      (member :line others) (member :list others)
			      (member :html others) separator)
			  ""
			"-csv"))

So, it is at least intentional.
Note that (member :csv others) yielding "" is also intentional because
it is already added by that time in %others.

It is also documented to be the default:

    csv
    the default SQLite output format for Babel SQLite source code blocks.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [BUG] ob-sqlite: can not override header argument
  2023-08-17 18:03 ` Ihor Radchenko
@ 2023-08-18 11:06   ` Max Nikulin
  2023-08-18 11:16     ` Ihor Radchenko
  0 siblings, 1 reply; 4+ messages in thread
From: Max Nikulin @ 2023-08-18 11:06 UTC (permalink / raw)
  To: emacs-orgmode

On 18/08/2023 01:03, Ihor Radchenko wrote:
> The source says
> 
> 	  ;; for easy table parsing, default header type should be -csv
> 
> So, it is at least intentional.

With ":results verbatim" it is not convincing.

> Note that (member :csv others) yielding "" is also intentional because
> it is already added by that time in %others.
> 
> It is also documented to be the default:
> 
>      csv
>      the default SQLite output format for Babel SQLite source code blocks.

I do not try to dispute that it is default. The issue is that ":csv no" 
is not supported. It is at least not intuitive that to disable :csv and 
to activate :separator it is necessary to add :list. So the effect of 
sqlite3 command line options differs from the effect of ob-sqlite header 
arguments.

I am not an active sqlite user and I am almost unfamiliar with its 
options, so I am unsure what is the best way to integrate sqlite into 
org-babel.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [BUG] ob-sqlite: can not override header argument
  2023-08-18 11:06   ` Max Nikulin
@ 2023-08-18 11:16     ` Ihor Radchenko
  0 siblings, 0 replies; 4+ messages in thread
From: Ihor Radchenko @ 2023-08-18 11:16 UTC (permalink / raw)
  To: Max Nikulin; +Cc: emacs-orgmode

Max Nikulin <manikulin@gmail.com> writes:

> On 18/08/2023 01:03, Ihor Radchenko wrote:
>> The source says
>> 
>> 	  ;; for easy table parsing, default header type should be -csv
>> 
>> So, it is at least intentional.
>
> With ":results verbatim" it is not convincing.

Maybe. But not a bug either. I am also not a user of ob-sqlite, so I am
not in position to judge what is better. My current stance is not to
touch the working code.

If there are any users of ob-sqlite, I invite them to chime in, if they
have an opinion.

>>      csv
>>      the default SQLite output format for Babel SQLite source code blocks.
>
> I do not try to dispute that it is default. The issue is that ":csv no" 
> is not supported. It is at least not intuitive that to disable :csv and 
> to activate :separator it is necessary to add :list. So the effect of 
> sqlite3 command line options differs from the effect of ob-sqlite header 
> arguments.

Sure. But it is not exactly a bug as well. I would accept patches that
will allow disabling these header arguments, if someone is bothered
enough to submit them.

Handled. We can continue the discussion though.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-08-18 11:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-17 16:25 [BUG] ob-sqlite: can not override header argument Max Nikulin
2023-08-17 18:03 ` Ihor Radchenko
2023-08-18 11:06   ` Max Nikulin
2023-08-18 11:16     ` Ihor Radchenko

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).