emacs-orgmode
[Top][All Lists]
Advanced

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

Re: Supporting non-free SQL clients in ob-sql (was: [PATCH] ob-sql: Add


From: Ihor Radchenko
Subject: Re: Supporting non-free SQL clients in ob-sql (was: [PATCH] ob-sql: Add support for Athena)
Date: Wed, 25 Jan 2023 12:35:58 +0000

Tim Cross <theophilusx@gmail.com> writes:

> to be very clear, ob-sql is not adding any NEW interface to any external
> program. It is just using the Emacs built-in SQL library (Elisp), which
> has been part of Emacs for a long time (I was using it in late 90s to
> work with Oracle RDMS). It is this library that provides the 'support'
> for things like Oracle's RDMS. If you want more specific information,
> ask on emacs-devel. Org mode is just using this built-in library.

This is wrong.
`org-babel-execute:sql' directly calls the CLI executable via `process-file'.

That said, the discussion about sql.el is also relevant wrt non-free SQL
client support. It will be helpful to clarify what is morally acceptable
for all the scenarios, not just for Org's use-case.

> The Oracle database is simply a relational database management system in
> the same way as Postgres, MySQL, Ingris, MS-Sql server etc. All of these
> have a CLI client and support connections via JDBC. The sql.el library
> provides specialised comint based interfaces which run the CLI to
> communicate with the RDMS. The closest of your 3 choices is b, as the
> build-in Emacs sql library executes the RDMS CLI in a sub-process comint
> buffer.

Org does not use this comint interface yet. We may in future though, for
sessions:

(defun org-babel-prep-session:sql (_session _params)
  "Raise an error because Sql sessions aren't implemented."
  (error "SQL sessions not yet implemented"))

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

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