Max Nikulin <maniku...@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>

Reply via email to