diff options
Diffstat (limited to 'lisp/org/ob-sql.el')
-rw-r--r-- | lisp/org/ob-sql.el | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/lisp/org/ob-sql.el b/lisp/org/ob-sql.el index 5f7c0de0000..9f4fa1d7863 100644 --- a/lisp/org/ob-sql.el +++ b/lisp/org/ob-sql.el @@ -3,8 +3,9 @@ ;; Copyright (C) 2009-2022 Free Software Foundation, Inc. ;; Author: Eric Schulte +;; Maintainer: Daniel Kraus <daniel@kraus.my> ;; Keywords: literate programming, reproducible research -;; Homepage: https://orgmode.org +;; URL: https://orgmode.org ;; This file is part of GNU Emacs. @@ -69,6 +70,10 @@ ;; ;;; Code: + +(require 'org-macs) +(org-assert-version) + (require 'ob) (declare-function org-table-import "org-table" (file arg)) @@ -218,18 +223,18 @@ then look for the parameter into the corresponding connection defined in `sql-connection-alist', otherwise look into PARAMS. See `sql-connection-alist' (part of SQL mode) for how to define database connections." - (if (assq :dbconnection params) - (let* ((dbconnection (cdr (assq :dbconnection params))) - (name-mapping '((:dbhost . sql-server) - (:dbport . sql-port) - (:dbuser . sql-user) - (:dbpassword . sql-password) - (:dbinstance . sql-dbinstance) - (:database . sql-database))) - (mapped-name (cdr (assq name name-mapping)))) - (cadr (assq mapped-name - (cdr (assoc dbconnection sql-connection-alist))))) - (cdr (assq name params)))) + (or (cdr (assq name params)) + (and (assq :dbconnection params) + (let* ((dbconnection (cdr (assq :dbconnection params))) + (name-mapping '((:dbhost . sql-server) + (:dbport . sql-port) + (:dbuser . sql-user) + (:dbpassword . sql-password) + (:dbinstance . sql-dbinstance) + (:database . sql-database))) + (mapped-name (cdr (assq name name-mapping)))) + (cadr (assq mapped-name + (cdr (assoc dbconnection sql-connection-alist)))))))) (defun org-babel-execute:sql (body params) "Execute a block of Sql code with Babel. |