Re: [PATCH] Add support for prologue and epilogue in SQL code blocks
Hi Rodrigo, Rodrigo Morales writes: > Apparently, A ">" character was accidentally inserted in the first line > of the patch. I'm attaching the patch again. Applied, thanks. Would you like to become the maintainer for ob-sql.el? It does not require you to actively contribute to it or to be the most knowledgeable person on the matter, just that you can evaluate if a change for this file is good. If so, please fill in this form: https://orgmode.org/request-assign-future.txt Thanks!
Re: [PATCH] Add support for prologue and epilogue in SQL code blocks
Apparently, A ">" character was accidentally inserted in the first line of the patch. I'm attaching the patch again. -- 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 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
[PATCH] Add support for prologue and epilogue in SQL code blocks
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 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