Tim Cross <theophil...@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>