I'm creating this patch because the prologue and epilogue header arguments can be useful for SQL code blocks. For example, in PostgreSQL :prologue can be used for setting the schema name where operations are to be executed (see example below)
#+BEGIN_SRC org * The foo schema :PROPERTIES: :HEADER-ARGS:SQL+: :engine postgres :HEADER-ARGS:SQL+: :prologue "SET search_path = foo;" :END: The following code block shows the table in the =foo= schema. ,#+BEGIN_SRC sql \dt; ,#+END_SRC The following shows the tuples in the table =A=. ,#+BEGIN_SRC sql SELECT * FROM A; ,#+END_SRC The following shows the tuples in the table =B=. ,#+BEGIN_SRC sql SELECT * FROM B; ,#+END_SRC #+END_SRC PS: This is the second time I'm creating a patch, so I would really appreciate any feedback if I've done something wrong. -- La información contenida en este e-mail y sus anexos es confidencial, privilegiada y está dirigida exclusivamente a su destinatario, en consecuencia, solo puede ser utilizada por aquel. Si usted no es el destinatario original, no deberá examinar, usar, copiar o distribuir este mensaje o la información que contiene. Si lo recibe por error, por favor reenvíelo a la persona que se lo envió y elimínelo. Cualquier retención o uso total o parcial no autorizada de este mensaje está estrictamente prohibida y sancionada por ley.
>From ed083bed92dcac258c9253cd34485c6cfe91eb6c Mon Sep 17 00:00:00 2001 From: Rodrigo Morales <rodrigo.mora...@utec.edu.pe> Date: Sat, 3 Jul 2021 01:53:44 -0500 Subject: [PATCH] lisp/ob-sql.el: Add support for :prologue and :epilogue --- lisp/ob-sql.el | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lisp/ob-sql.el b/lisp/ob-sql.el index 6eae5bb67..667bada31 100644 --- a/lisp/ob-sql.el +++ b/lisp/ob-sql.el @@ -93,8 +93,15 @@ (defun org-babel-expand-body:sql (body params) "Expand BODY according to the values of PARAMS." - (org-babel-sql-expand-vars - body (org-babel--get-vars params))) + (let ((prologue (cdr (assq :prologue params))) + (epilogue (cdr (assq :epilogue params)))) + (mapconcat 'identity + (list + prologue + (org-babel-sql-expand-vars + body (org-babel--get-vars params)) + epilogue) + "\n"))) (defun org-babel-edit-prep:sql (info) "Set `sql-product' in Org edit buffer. -- 2.32.0