From 08bbadf0257002ed044db90110e046664f2482c6 Mon Sep 17 00:00:00 2001 From: Andreas Gerler Date: Sat, 21 Dec 2024 17:47:21 +0100 Subject: [PATCH] update ejc-sql Signed-off-by: Andreas Gerler --- elpa/ejc-sql-20230702.2048/ejc-sql-pkg.el | 17 --- elpa/ejc-sql-20241111.117/ejc-autocomplete.el | 129 ++++++++++++++++ .../ejc-company.el | 0 .../ejc-completion-common.el | 0 .../ejc-doc.el | 0 .../ejc-eldoc.el | 0 .../ejc-flx.el | 0 .../ejc-format.el | 10 +- .../ejc-interaction.el | 0 .../ejc-lib.el | 0 .../ejc-result-buffer.el | 0 .../ejc-result-mode.el | 0 .../ejc-sql-autoloads.el | 144 ++++++------------ elpa/ejc-sql-20241111.117/ejc-sql-pkg.el | 13 ++ .../ejc-sql.el | 18 ++- .../project.clj | 0 .../snippets/sql-mode/alter.yasnippet | 0 .../snippets/sql-mode/begin.snippet | 0 .../snippets/sql-mode/create.d.yasnippet | 6 + .../snippets/sql-mode/delete.yasnippet | 0 .../snippets/sql-mode/drop.d.yasnippet | 5 + .../snippets/sql-mode/grant.yasnippet | 0 .../snippets/sql-mode/inner.yasnippet | 0 .../snippets/sql-mode/insert.yasnippet | 0 .../snippets/sql-mode/left.yasnippet | 0 .../snippets/sql-mode/revoke.yasnippet | 0 .../snippets/sql-mode/right.yasnippet | 0 .../snippets/sql-mode/select.yasnippet | 0 .../snippets/sql-mode/show.snippet | 5 + .../snippets/sql-mode/update.yasnippet | 0 .../snippets/sql-mode/where.yasnippet | 0 .../src/ejc_sql/cache.clj | 0 .../src/ejc_sql/classpath.clj | 0 .../src/ejc_sql/connect.clj | 114 +++++++------- .../src/ejc_sql/deps_resolver.clj | 0 .../src/ejc_sql/keywords.clj | 0 .../src/ejc_sql/lib.clj | 0 .../src/ejc_sql/output.clj | 0 .../src/ejc_sql/structure.clj | 18 ++- elpa/ejc-sql-readme.txt | 4 - 40 files changed, 297 insertions(+), 186 deletions(-) delete mode 100644 elpa/ejc-sql-20230702.2048/ejc-sql-pkg.el create mode 100644 elpa/ejc-sql-20241111.117/ejc-autocomplete.el rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/ejc-company.el (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/ejc-completion-common.el (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/ejc-doc.el (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/ejc-eldoc.el (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/ejc-flx.el (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/ejc-format.el (96%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/ejc-interaction.el (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/ejc-lib.el (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/ejc-result-buffer.el (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/ejc-result-mode.el (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/ejc-sql-autoloads.el (58%) create mode 100644 elpa/ejc-sql-20241111.117/ejc-sql-pkg.el rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/ejc-sql.el (98%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/project.clj (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/snippets/sql-mode/alter.yasnippet (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/snippets/sql-mode/begin.snippet (100%) create mode 100644 elpa/ejc-sql-20241111.117/snippets/sql-mode/create.d.yasnippet rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/snippets/sql-mode/delete.yasnippet (100%) create mode 100644 elpa/ejc-sql-20241111.117/snippets/sql-mode/drop.d.yasnippet rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/snippets/sql-mode/grant.yasnippet (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/snippets/sql-mode/inner.yasnippet (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/snippets/sql-mode/insert.yasnippet (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/snippets/sql-mode/left.yasnippet (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/snippets/sql-mode/revoke.yasnippet (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/snippets/sql-mode/right.yasnippet (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/snippets/sql-mode/select.yasnippet (100%) create mode 100644 elpa/ejc-sql-20241111.117/snippets/sql-mode/show.snippet rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/snippets/sql-mode/update.yasnippet (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/snippets/sql-mode/where.yasnippet (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/src/ejc_sql/cache.clj (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/src/ejc_sql/classpath.clj (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/src/ejc_sql/connect.clj (75%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/src/ejc_sql/deps_resolver.clj (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/src/ejc_sql/keywords.clj (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/src/ejc_sql/lib.clj (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/src/ejc_sql/output.clj (100%) rename elpa/{ejc-sql-20230702.2048 => ejc-sql-20241111.117}/src/ejc_sql/structure.clj (98%) delete mode 100644 elpa/ejc-sql-readme.txt diff --git a/elpa/ejc-sql-20230702.2048/ejc-sql-pkg.el b/elpa/ejc-sql-20230702.2048/ejc-sql-pkg.el deleted file mode 100644 index e133883f..00000000 --- a/elpa/ejc-sql-20230702.2048/ejc-sql-pkg.el +++ /dev/null @@ -1,17 +0,0 @@ -(define-package "ejc-sql" "20230702.2048" "Emacs SQL client uses Clojure JDBC." - '((emacs "26.3") - (clomacs "0.0.5") - (dash "2.16.0") - (spinner "1.7.3")) - :commit "cfb2a3b00d16c6b8575b84d4963ac0c21f91fa05" :authors - '(("Kostafey" . "kostafey@gmail.com")) - :maintainers - '(("Kostafey" . "kostafey@gmail.com")) - :maintainer - '("Kostafey" . "kostafey@gmail.com") - :keywords - '("sql" "jdbc") - :url "https://github.com/kostafey/ejc-sql") -;; Local Variables: -;; no-byte-compile: t -;; End: diff --git a/elpa/ejc-sql-20241111.117/ejc-autocomplete.el b/elpa/ejc-sql-20241111.117/ejc-autocomplete.el new file mode 100644 index 00000000..208c0da1 --- /dev/null +++ b/elpa/ejc-sql-20241111.117/ejc-autocomplete.el @@ -0,0 +1,129 @@ +;;; ejc-autocomplete.el -- SQL completitions at point by auto-complete (the part of ejc-sql). + +;;; Copyright © 2013-2020 - Kostafey + +;;; This program is free software; you can redistribute it and/or modify +;;; it under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 2, or (at your option) +;;; any later version. +;;; +;;; This program is distributed in the hope that it will be useful, +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with this program; if not, write to the Free Software Foundation, +;;; Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ + +;;; Code: + +(require 'auto-complete) +(require 'ejc-completion-common) +(require 'ejc-flx) + +(defvar ac-source-ejc-owners + '((candidates . ejc-owners-candidates) + (symbol . "o") + (requires . 1) + (cache . t))) + +(defvar ac-source-ejc-tables + '((candidates . ejc-tables-candidates) + (symbol . "t") + (requires . 1) + (cache . t))) + +(defvar ac-source-ejc-views + '((candidates . ejc-views-candidates) + (symbol . "v") + (requires . 1) + (cache . t))) + +(defvar ac-source-ejc-packages + '((candidates . ejc-packages-candidates) + (symbol . "p") + (requires . 1) + (cache . t))) + +(defvar ac-source-ejc-tables-point + '((candidates . ejc-tables-candidates) + (symbol . "t") + (prefix . ejc-return-point) + (requires . 0) + (cache . t))) + +(defvar ac-source-ejc-colomns + '((candidates . ejc-colomns-candidates) + (symbol . "c") + (requires . 1) + (cache . t))) + +(defvar ac-source-ejc-colomns-point + '((candidates . ejc-colomns-candidates) + (symbol . "c") + (prefix . ejc-return-point) + (requires . 0) + (cache . t))) + +(defvar ac-source-ejc-ansi-sql + '((candidates . ejc-get-ansi-sql-words) + (symbol . "s") + (document . ac-ejc-documentation) + (requires . 1) + (cache . t))) + +(defvar ac-source-ejc-keywords + '((candidates . ejc-get-keywords) + (symbol . "s") + (document . ac-ejc-documentation) + (requires . 1) + (cache . t))) + +;;;###autoload +(defun ejc-ac-setup () + "Add the completion sources to the front of `ac-sources'. +This affects only the current buffer. + +Check against following cases: +prefix-2.prefix-1.# +prefix-1.# +something#" + (interactive) + (add-to-list 'ac-sources 'ac-source-ejc-ansi-sql) + (add-to-list 'ac-sources 'ac-source-ejc-keywords) + (add-to-list 'ac-sources 'ac-source-ejc-owners) + (add-to-list 'ac-sources 'ac-source-ejc-tables) + (add-to-list 'ac-sources 'ac-source-ejc-views) + (add-to-list 'ac-sources 'ac-source-ejc-packages) + (add-to-list 'ac-sources 'ac-source-ejc-tables-point) + (add-to-list 'ac-sources 'ac-source-ejc-colomns) + (add-to-list 'ac-sources 'ac-source-ejc-colomns-point)) + +(defun ejc-ac-hook () + (if ejc-use-flx + (if (require 'flx-ido nil 'noerror) + (setq-local ac-match-function 'ejc-flx-match-internal) + (error (concat "Please install flx.el and flx-ido.el " + "if you use fuzzy completion")))) + (delq 'ac-source-dictionary ac-sources) + (delq 'ac-source-abbrev ac-sources) + (delq 'ac-source-words-in-same-mode-buffers ac-sources)) + +(add-hook 'ejc-sql-minor-mode-hook 'ejc-ac-hook) + +(when (require 'yasnippet nil 'noerror) + (setq yas-snippet-dirs + (nconc yas-snippet-dirs + (list (expand-file-name "snippets" + (file-name-directory + (locate-library "ejc-sql")))))) + (defun ejc-yas-downcase-key (args) + (if ejc-sql-mode + (cl-callf downcase (nth 1 args))) + args) + (advice-add 'yas--fetch :filter-args #'ejc-yas-downcase-key)) + +(provide 'ejc-autocomplete) + +;;; ejc-autocomplete.el ends here diff --git a/elpa/ejc-sql-20230702.2048/ejc-company.el b/elpa/ejc-sql-20241111.117/ejc-company.el similarity index 100% rename from elpa/ejc-sql-20230702.2048/ejc-company.el rename to elpa/ejc-sql-20241111.117/ejc-company.el diff --git a/elpa/ejc-sql-20230702.2048/ejc-completion-common.el b/elpa/ejc-sql-20241111.117/ejc-completion-common.el similarity index 100% rename from elpa/ejc-sql-20230702.2048/ejc-completion-common.el rename to elpa/ejc-sql-20241111.117/ejc-completion-common.el diff --git a/elpa/ejc-sql-20230702.2048/ejc-doc.el b/elpa/ejc-sql-20241111.117/ejc-doc.el similarity index 100% rename from elpa/ejc-sql-20230702.2048/ejc-doc.el rename to elpa/ejc-sql-20241111.117/ejc-doc.el diff --git a/elpa/ejc-sql-20230702.2048/ejc-eldoc.el b/elpa/ejc-sql-20241111.117/ejc-eldoc.el similarity index 100% rename from elpa/ejc-sql-20230702.2048/ejc-eldoc.el rename to elpa/ejc-sql-20241111.117/ejc-eldoc.el diff --git a/elpa/ejc-sql-20230702.2048/ejc-flx.el b/elpa/ejc-sql-20241111.117/ejc-flx.el similarity index 100% rename from elpa/ejc-sql-20230702.2048/ejc-flx.el rename to elpa/ejc-sql-20241111.117/ejc-flx.el diff --git a/elpa/ejc-sql-20230702.2048/ejc-format.el b/elpa/ejc-sql-20241111.117/ejc-format.el similarity index 96% rename from elpa/ejc-sql-20230702.2048/ejc-format.el rename to elpa/ejc-sql-20241111.117/ejc-format.el index a0957ace..8db95fa3 100644 --- a/elpa/ejc-sql-20230702.2048/ejc-format.el +++ b/elpa/ejc-sql-20241111.117/ejc-format.el @@ -1,6 +1,6 @@ ;;; ejc-format.el -- SQL formatting library (the part of ejc-sql). -;;; Copyright © 2012-2019 - Kostafey +;;; Copyright © 2012-2024 - Kostafey ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -27,13 +27,17 @@ "The char with purpose to separate the SQL statement both other.") (defun ejc-sql-separator-re () - (format "^\\s-*%s\\s-*" (or (alist-get :separator ejc-db) - ejc-sql-separator))) + (format "^\\s-*%s\\(\\s-+\\|\n\\)" (or (alist-get :separator ejc-db) + ejc-sql-separator))) (defun ejc-get-border-top () "Get top position of batch statement(s) seperator `ejc-sql-separator'. Upper position of this batch statement(s)." (save-excursion + (when (and (characterp (char-after)) + (or (equal (string (char-after)) " ") + (equal (string (char-after)) "\n"))) + (forward-char 1)) (if (re-search-backward (ejc-sql-separator-re) nil t nil) (re-search-forward (ejc-sql-separator-re) nil t nil) (beginning-of-buffer)) diff --git a/elpa/ejc-sql-20230702.2048/ejc-interaction.el b/elpa/ejc-sql-20241111.117/ejc-interaction.el similarity index 100% rename from elpa/ejc-sql-20230702.2048/ejc-interaction.el rename to elpa/ejc-sql-20241111.117/ejc-interaction.el diff --git a/elpa/ejc-sql-20230702.2048/ejc-lib.el b/elpa/ejc-sql-20241111.117/ejc-lib.el similarity index 100% rename from elpa/ejc-sql-20230702.2048/ejc-lib.el rename to elpa/ejc-sql-20241111.117/ejc-lib.el diff --git a/elpa/ejc-sql-20230702.2048/ejc-result-buffer.el b/elpa/ejc-sql-20241111.117/ejc-result-buffer.el similarity index 100% rename from elpa/ejc-sql-20230702.2048/ejc-result-buffer.el rename to elpa/ejc-sql-20241111.117/ejc-result-buffer.el diff --git a/elpa/ejc-sql-20230702.2048/ejc-result-mode.el b/elpa/ejc-sql-20241111.117/ejc-result-mode.el similarity index 100% rename from elpa/ejc-sql-20230702.2048/ejc-result-mode.el rename to elpa/ejc-sql-20241111.117/ejc-result-mode.el diff --git a/elpa/ejc-sql-20230702.2048/ejc-sql-autoloads.el b/elpa/ejc-sql-20241111.117/ejc-sql-autoloads.el similarity index 58% rename from elpa/ejc-sql-20230702.2048/ejc-sql-autoloads.el rename to elpa/ejc-sql-20241111.117/ejc-sql-autoloads.el index c05dbe88..871de9e0 100644 --- a/elpa/ejc-sql-20230702.2048/ejc-sql-autoloads.el +++ b/elpa/ejc-sql-20241111.117/ejc-sql-autoloads.el @@ -1,13 +1,14 @@ -;;; ejc-sql-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*- -;; +;;; ejc-sql-autoloads.el --- automatically extracted autoloads (do not edit) -*- lexical-binding: t -*- +;; Generated by the `loaddefs-generate' function. + +;; This file is part of GNU Emacs. + ;;; Code: -(add-to-list 'load-path (directory-file-name - (or (file-name-directory #$) (car load-path)))) +(add-to-list 'load-path (or (and load-file-name (directory-file-name (file-name-directory load-file-name))) (car load-path))) + -;;;### (autoloads nil "ejc-autocomplete" "ejc-autocomplete.el" (0 -;;;;;; 0 0 0)) ;;; Generated autoloads from ejc-autocomplete.el (autoload 'ejc-ac-setup "ejc-autocomplete" "\ @@ -17,209 +18,158 @@ This affects only the current buffer. Check against following cases: prefix-2.prefix-1.# prefix-1.# -something#" t nil) - +something#" t) (register-definition-prefixes "ejc-autocomplete" '("ac-source-ejc-" "ejc-ac-hook")) -;;;*** -;;;### (autoloads nil "ejc-company" "ejc-company.el" (0 0 0 0)) ;;; Generated autoloads from ejc-company.el (register-definition-prefixes "ejc-company" '("ejc-company-")) -;;;*** -;;;### (autoloads nil "ejc-completion-common" "ejc-completion-common.el" -;;;;;; (0 0 0 0)) ;;; Generated autoloads from ejc-completion-common.el -(autoload 'ejc-owners-candidates "ejc-completion-common" nil nil nil) - -(autoload 'ejc-tables-candidates "ejc-completion-common" nil nil nil) - -(autoload 'ejc-views-candidates "ejc-completion-common" nil nil nil) - -(autoload 'ejc-packages-candidates "ejc-completion-common" nil nil nil) - -(autoload 'ejc-colomns-candidates "ejc-completion-common" nil nil nil) - +(autoload 'ejc-owners-candidates "ejc-completion-common") +(autoload 'ejc-tables-candidates "ejc-completion-common") +(autoload 'ejc-views-candidates "ejc-completion-common") +(autoload 'ejc-packages-candidates "ejc-completion-common") +(autoload 'ejc-colomns-candidates "ejc-completion-common") (register-definition-prefixes "ejc-completion-common" '("ac-ejc-documentation" "ejc-")) -;;;*** -;;;### (autoloads nil "ejc-doc" "ejc-doc.el" (0 0 0 0)) ;;; Generated autoloads from ejc-doc.el (register-definition-prefixes "ejc-doc" '("ejc-")) -;;;*** -;;;### (autoloads nil "ejc-eldoc" "ejc-eldoc.el" (0 0 0 0)) ;;; Generated autoloads from ejc-eldoc.el (autoload 'ejc-eldoc-setup "ejc-eldoc" "\ -Set up eldoc function and enable eldoc-mode." t nil) - +Set up eldoc function and enable eldoc-mode." t) (register-definition-prefixes "ejc-eldoc" '("ejc-")) -;;;*** -;;;### (autoloads nil "ejc-flx" "ejc-flx.el" (0 0 0 0)) ;;; Generated autoloads from ejc-flx.el (register-definition-prefixes "ejc-flx" '("ejc-")) -;;;*** -;;;### (autoloads nil "ejc-format" "ejc-format.el" (0 0 0 0)) ;;; Generated autoloads from ejc-format.el (register-definition-prefixes "ejc-format" '("ejc-")) -;;;*** -;;;### (autoloads nil "ejc-interaction" "ejc-interaction.el" (0 0 -;;;;;; 0 0)) ;;; Generated autoloads from ejc-interaction.el (register-definition-prefixes "ejc-interaction" '("ejc-")) -;;;*** -;;;### (autoloads nil "ejc-lib" "ejc-lib.el" (0 0 0 0)) ;;; Generated autoloads from ejc-lib.el (register-definition-prefixes "ejc-lib" '("ejc-")) -;;;*** -;;;### (autoloads nil "ejc-result-buffer" "ejc-result-buffer.el" -;;;;;; (0 0 0 0)) ;;; Generated autoloads from ejc-result-buffer.el (autoload 'ejc-show-last-result "ejc-result-buffer" "\ Popup buffer with last SQL execution result output. -\(fn &key RESULT MODE CONNECTION-NAME DB GOTO-SYMBOL)" t nil) - +(fn &key RESULT MODE CONNECTION-NAME DB GOTO-SYMBOL)" t) (autoload 'ejc-show-prev-result "ejc-result-buffer" "\ -Change `ejc-results-buffer' contents: show previous SQL evaluation result." t nil) - +Change `ejc-results-buffer' contents: show previous SQL evaluation result." t) (autoload 'ejc-show-next-result "ejc-result-buffer" "\ -Change `ejc-results-buffer' contents: show next SQL evaluation result." t nil) - +Change `ejc-results-buffer' contents: show next SQL evaluation result." t) (register-definition-prefixes "ejc-result-buffer" '("ejc-")) -;;;*** -;;;### (autoloads nil "ejc-result-mode" "ejc-result-mode.el" (0 0 -;;;;;; 0 0)) ;;; Generated autoloads from ejc-result-mode.el (register-definition-prefixes "ejc-result-mode" '("ejc-result-")) -;;;*** -;;;### (autoloads nil "ejc-sql" "ejc-sql.el" (0 0 0 0)) ;;; Generated autoloads from ejc-sql.el (autoload 'ejc-sql-mode "ejc-sql" "\ Toggle ejc-sql mode. -This is a minor mode. If called interactively, toggle the -`ejc-Sql mode' mode. If the prefix argument is positive, enable -the mode, and if it is zero or negative, disable the mode. +This is a minor mode. If called interactively, toggle the `ejc-Sql +mode' mode. If the prefix argument is positive, enable the mode, and if +it is zero or negative, disable the mode. -If called from Lisp, toggle the mode if ARG is `toggle'. Enable -the mode if ARG is nil, omitted, or is a positive number. -Disable the mode if ARG is a negative number. +If called from Lisp, toggle the mode if ARG is `toggle'. Enable the +mode if ARG is nil, omitted, or is a positive number. Disable the mode +if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `ejc-sql-mode'. - -The mode's hook is called both when the mode is enabled and when -it is disabled. +evaluate the variable `ejc-sql-mode'. -\(fn &optional ARG)" t nil) - -(autoload 'ejc-create-menu "ejc-sql" nil nil nil) +The mode's hook is called both when the mode is enabled and when it is +disabled. +(fn &optional ARG)" t) +(autoload 'ejc-create-menu "ejc-sql") (autoload 'ejc-insert-connection-data "ejc-sql" "\ Insert configured connection data to keep it between Emacs restarts. Assume to be evaluated somewhere in .emacs or any file, loaded as Emacs configuration. -\(fn CONNECTION-NAME)" t nil) - +(fn CONNECTION-NAME)" t) (autoload 'ejc-connect-interactive "ejc-sql" "\ Create new connection interactively and connect to it. -\(fn CONNECTION-NAME)" t nil) - +(fn CONNECTION-NAME)" t) (autoload 'ejc-connect "ejc-sql" "\ Connect to selected db. -\(fn CONNECTION-NAME)" t nil) - +(fn CONNECTION-NAME)" t) (autoload 'ejc-connect-existing-repl "ejc-sql" "\ Connect to existing ejc-sql nREPL running process. You can `cd` to your ejc-sql project folder (typically '~/.emacs.d/elpa/ejc-sql-') and launch nREPL via `lein repl`. Then run in Emacs `ejc-connect-existing-repl', type HOST and PORT from your `lein run` console output. Finally, use `ejc-connect' from -any SQL buffer to connect to exact database, as always. " t nil) - +any SQL buffer to connect to exact database, as always. " t) (autoload 'ejc-eval-user-sql-region "ejc-sql" "\ Evaluate SQL bounded by the selection area. -\(fn BEG END)" t nil) - +(fn BEG END)" t) (autoload 'ejc-eval-user-sql-at-point "ejc-sql" "\ Evaluate SQL bounded by the `ejc-sql-separator' or/and buffer boundaries. -\(fn &key SYNC BEG END (DISPLAY-RESULT t))" t nil) - +(fn &key SYNC BEG END (DISPLAY-RESULT t))" t) (autoload 'ejc-show-tables-list "ejc-sql" "\ -Output tables list." t nil) - +Output tables list." t) (autoload 'ejc-show-views-list "ejc-sql" "\ -Output views list." t nil) - +Output views list." t) (autoload 'ejc-show-user-types-list "ejc-sql" "\ Output user types list. -\(fn &optional OWNER)" t nil) - +(fn &optional OWNER)" t) (autoload 'ejc-show-constraints-list "ejc-sql" "\ Output constraints list. -\(fn &optional OWNER TABLE)" t nil) - +(fn &optional OWNER TABLE)" t) (autoload 'ejc-show-procedures-list "ejc-sql" "\ -Output procedures list." t nil) - +Output procedures list." t) (autoload 'ejc-get-temp-editor-buffer "ejc-sql" "\ -\(fn &optional NUM)" t nil) - +(fn &optional NUM)" t) (autoload 'ejc-version "ejc-sql" "\ -Get the ejc-sql version as string." t nil) - +Get the ejc-sql version as string." t) (register-definition-prefixes "ejc-sql" '("ejc-")) - -;;;*** -;;;### (autoloads nil nil ("ejc-sql-pkg.el") (0 0 0 0)) +;;; End of scraped data + +(provide 'ejc-sql-autoloads) -;;;*** - ;; Local Variables: ;; version-control: never ;; no-byte-compile: t ;; no-update-autoloads: t -;; coding: utf-8 +;; no-native-compile: t +;; coding: utf-8-emacs-unix ;; End: + ;;; ejc-sql-autoloads.el ends here diff --git a/elpa/ejc-sql-20241111.117/ejc-sql-pkg.el b/elpa/ejc-sql-20241111.117/ejc-sql-pkg.el new file mode 100644 index 00000000..1557d05e --- /dev/null +++ b/elpa/ejc-sql-20241111.117/ejc-sql-pkg.el @@ -0,0 +1,13 @@ +;; -*- no-byte-compile: t; lexical-binding: nil -*- +(define-package "ejc-sql" "20241111.117" + "Emacs SQL client uses Clojure JDBC." + '((emacs "26.3") + (clomacs "0.0.5") + (dash "2.16.0") + (spinner "1.7.3")) + :url "https://gitlab.com/kostafey/ejc-sql" + :commit "1fc5a38d974aed401424ecd3b49a74e0a0ebc3bb" + :revdesc "1fc5a38d974a" + :keywords '("sql" "jdbc") + :authors '(("Kostafey" . "kostafey@gmail.com")) + :maintainers '(("Kostafey" . "kostafey@gmail.com"))) diff --git a/elpa/ejc-sql-20230702.2048/ejc-sql.el b/elpa/ejc-sql-20241111.117/ejc-sql.el similarity index 98% rename from elpa/ejc-sql-20230702.2048/ejc-sql.el rename to elpa/ejc-sql-20241111.117/ejc-sql.el index c60e0aa1..55d3a90b 100644 --- a/elpa/ejc-sql-20230702.2048/ejc-sql.el +++ b/elpa/ejc-sql-20241111.117/ejc-sql.el @@ -5,7 +5,8 @@ ;; Author: Kostafey ;; URL: https://github.com/kostafey/ejc-sql ;; Keywords: sql, jdbc -;; Version: 0.4.1 +;; Package-Version: 20241111.117 +;; Package-Revision: 1fc5a38d974a ;; Package-Requires: ((emacs "26.3")(clomacs "0.0.5")(dash "2.16.0")(spinner "1.7.3")) ;; This file is not part of GNU Emacs. @@ -397,18 +398,19 @@ If the current mode is `sql-mode' prepare buffer to operate as `ejc-sql-mode'." (concat "ejc-sql is enabled, ignore source block connection" " header arguments and use ejc-sql to execute it? "))))) (funcall orig-fun body params) - (cl-multiple-value-bind (beg end) (save-mark-and-excursion - (org-babel-mark-block) - (list (point) (mark))) - (ejc-eval-user-sql-at-point - :beg beg - :end end + (let* ((info (org-babel-get-src-block-info 'no-eval)) + (expanded-body (if (org-babel-noweb-p (nth 2 info) :eval) + (org-babel-expand-noweb-references info) + (nth 1 info)))) + (ejc-eval-user-sql + expanded-body :sync ejc-org-mode-show-results :display-result (not ejc-org-mode-show-results)) (if ejc-org-mode-show-results (with-temp-buffer (insert-file-contents (ejc-get-result-file-path)) - (buffer-string)))))) + (or (org-babel-read-table) + (buffer-string))))))) (defun ejc-org-edit-special (orig-fun &rest args) (if (and (equal "sql" (car (org-babel-get-src-block-info))) diff --git a/elpa/ejc-sql-20230702.2048/project.clj b/elpa/ejc-sql-20241111.117/project.clj similarity index 100% rename from elpa/ejc-sql-20230702.2048/project.clj rename to elpa/ejc-sql-20241111.117/project.clj diff --git a/elpa/ejc-sql-20230702.2048/snippets/sql-mode/alter.yasnippet b/elpa/ejc-sql-20241111.117/snippets/sql-mode/alter.yasnippet similarity index 100% rename from elpa/ejc-sql-20230702.2048/snippets/sql-mode/alter.yasnippet rename to elpa/ejc-sql-20241111.117/snippets/sql-mode/alter.yasnippet diff --git a/elpa/ejc-sql-20230702.2048/snippets/sql-mode/begin.snippet b/elpa/ejc-sql-20241111.117/snippets/sql-mode/begin.snippet similarity index 100% rename from elpa/ejc-sql-20230702.2048/snippets/sql-mode/begin.snippet rename to elpa/ejc-sql-20241111.117/snippets/sql-mode/begin.snippet diff --git a/elpa/ejc-sql-20241111.117/snippets/sql-mode/create.d.yasnippet b/elpa/ejc-sql-20241111.117/snippets/sql-mode/create.d.yasnippet new file mode 100644 index 00000000..c7ea31ad --- /dev/null +++ b/elpa/ejc-sql-20241111.117/snippets/sql-mode/create.d.yasnippet @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: create.d +# key: create.d +# -- +CREATE DATABASE ${1:database_name} +`(if (eq sql-product 'ansi) "character set 'utf8' collate 'utf8_general_ci'")`; \ No newline at end of file diff --git a/elpa/ejc-sql-20230702.2048/snippets/sql-mode/delete.yasnippet b/elpa/ejc-sql-20241111.117/snippets/sql-mode/delete.yasnippet similarity index 100% rename from elpa/ejc-sql-20230702.2048/snippets/sql-mode/delete.yasnippet rename to elpa/ejc-sql-20241111.117/snippets/sql-mode/delete.yasnippet diff --git a/elpa/ejc-sql-20241111.117/snippets/sql-mode/drop.d.yasnippet b/elpa/ejc-sql-20241111.117/snippets/sql-mode/drop.d.yasnippet new file mode 100644 index 00000000..cdb163d7 --- /dev/null +++ b/elpa/ejc-sql-20241111.117/snippets/sql-mode/drop.d.yasnippet @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: drop.d +# key: drop.d +# -- +DROP DATABASE ${1:database_name}; \ No newline at end of file diff --git a/elpa/ejc-sql-20230702.2048/snippets/sql-mode/grant.yasnippet b/elpa/ejc-sql-20241111.117/snippets/sql-mode/grant.yasnippet similarity index 100% rename from elpa/ejc-sql-20230702.2048/snippets/sql-mode/grant.yasnippet rename to elpa/ejc-sql-20241111.117/snippets/sql-mode/grant.yasnippet diff --git a/elpa/ejc-sql-20230702.2048/snippets/sql-mode/inner.yasnippet b/elpa/ejc-sql-20241111.117/snippets/sql-mode/inner.yasnippet similarity index 100% rename from elpa/ejc-sql-20230702.2048/snippets/sql-mode/inner.yasnippet rename to elpa/ejc-sql-20241111.117/snippets/sql-mode/inner.yasnippet diff --git a/elpa/ejc-sql-20230702.2048/snippets/sql-mode/insert.yasnippet b/elpa/ejc-sql-20241111.117/snippets/sql-mode/insert.yasnippet similarity index 100% rename from elpa/ejc-sql-20230702.2048/snippets/sql-mode/insert.yasnippet rename to elpa/ejc-sql-20241111.117/snippets/sql-mode/insert.yasnippet diff --git a/elpa/ejc-sql-20230702.2048/snippets/sql-mode/left.yasnippet b/elpa/ejc-sql-20241111.117/snippets/sql-mode/left.yasnippet similarity index 100% rename from elpa/ejc-sql-20230702.2048/snippets/sql-mode/left.yasnippet rename to elpa/ejc-sql-20241111.117/snippets/sql-mode/left.yasnippet diff --git a/elpa/ejc-sql-20230702.2048/snippets/sql-mode/revoke.yasnippet b/elpa/ejc-sql-20241111.117/snippets/sql-mode/revoke.yasnippet similarity index 100% rename from elpa/ejc-sql-20230702.2048/snippets/sql-mode/revoke.yasnippet rename to elpa/ejc-sql-20241111.117/snippets/sql-mode/revoke.yasnippet diff --git a/elpa/ejc-sql-20230702.2048/snippets/sql-mode/right.yasnippet b/elpa/ejc-sql-20241111.117/snippets/sql-mode/right.yasnippet similarity index 100% rename from elpa/ejc-sql-20230702.2048/snippets/sql-mode/right.yasnippet rename to elpa/ejc-sql-20241111.117/snippets/sql-mode/right.yasnippet diff --git a/elpa/ejc-sql-20230702.2048/snippets/sql-mode/select.yasnippet b/elpa/ejc-sql-20241111.117/snippets/sql-mode/select.yasnippet similarity index 100% rename from elpa/ejc-sql-20230702.2048/snippets/sql-mode/select.yasnippet rename to elpa/ejc-sql-20241111.117/snippets/sql-mode/select.yasnippet diff --git a/elpa/ejc-sql-20241111.117/snippets/sql-mode/show.snippet b/elpa/ejc-sql-20241111.117/snippets/sql-mode/show.snippet new file mode 100644 index 00000000..d6d0b9a5 --- /dev/null +++ b/elpa/ejc-sql-20241111.117/snippets/sql-mode/show.snippet @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: show +# key: show +# -- +SHOW TABLES \ No newline at end of file diff --git a/elpa/ejc-sql-20230702.2048/snippets/sql-mode/update.yasnippet b/elpa/ejc-sql-20241111.117/snippets/sql-mode/update.yasnippet similarity index 100% rename from elpa/ejc-sql-20230702.2048/snippets/sql-mode/update.yasnippet rename to elpa/ejc-sql-20241111.117/snippets/sql-mode/update.yasnippet diff --git a/elpa/ejc-sql-20230702.2048/snippets/sql-mode/where.yasnippet b/elpa/ejc-sql-20241111.117/snippets/sql-mode/where.yasnippet similarity index 100% rename from elpa/ejc-sql-20230702.2048/snippets/sql-mode/where.yasnippet rename to elpa/ejc-sql-20241111.117/snippets/sql-mode/where.yasnippet diff --git a/elpa/ejc-sql-20230702.2048/src/ejc_sql/cache.clj b/elpa/ejc-sql-20241111.117/src/ejc_sql/cache.clj similarity index 100% rename from elpa/ejc-sql-20230702.2048/src/ejc_sql/cache.clj rename to elpa/ejc-sql-20241111.117/src/ejc_sql/cache.clj diff --git a/elpa/ejc-sql-20230702.2048/src/ejc_sql/classpath.clj b/elpa/ejc-sql-20241111.117/src/ejc_sql/classpath.clj similarity index 100% rename from elpa/ejc-sql-20230702.2048/src/ejc_sql/classpath.clj rename to elpa/ejc-sql-20241111.117/src/ejc_sql/classpath.clj diff --git a/elpa/ejc-sql-20230702.2048/src/ejc_sql/connect.clj b/elpa/ejc-sql-20241111.117/src/ejc_sql/connect.clj similarity index 75% rename from elpa/ejc-sql-20230702.2048/src/ejc_sql/connect.clj rename to elpa/ejc-sql-20241111.117/src/ejc_sql/connect.clj index 645d8a34..23887dbe 100644 --- a/elpa/ejc-sql-20230702.2048/src/ejc_sql/connect.clj +++ b/elpa/ejc-sql-20241111.117/src/ejc_sql/connect.clj @@ -1,6 +1,6 @@ ;;; connect.clj -- Core clojure functions for ejc-sql emacs extension. -;;; Copyright © 2013-2023 - Kostafey +;;; Copyright © 2013-2024 - Kostafey ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -119,7 +119,7 @@ SELECT * FROM urls WHERE path like '%http://localhost%'" (def comments-re "Regex to search comments in SQL expression." (java.util.regex.Pattern/compile - "(?:/\\*.*?\\*/)|(?:--.*?$)", + "(?:/\\*.*?\\*/[\\s;]*\n?)|(?:--.*?$\n)", (bit-or java.util.regex.Pattern/DOTALL java.util.regex.Pattern/MULTILINE))) @@ -154,50 +154,59 @@ SELECT * FROM urls WHERE path like '%http://localhost%'" (defn eval-sql-core "The core SQL evaluation function." - [& {:keys [db sql fetch-size max-rows] + [& {:keys [db sql-list fetch-size max-rows] :or {db @ejc-sql.connect/db}}] (set-db db) (java.util.Locale/setDefault (java.util.Locale. "UK")) (try - (if (select? sql) - (list - :result-set - (with-open [conn (j/get-connection db)] - (let [stmt (j/prepare-statement - conn sql - {:fetch-size (or fetch-size @o/fetch-size 0) - :max-rows (or max-rows - (if (and (> @o/max-rows 0) - @o/show-too-many-rows-message) - ;; Get one more row to recognize that - ;; the actual number of records from this - ;; query is bigger than `max-rows`. - (+ @o/max-rows 1) - @o/max-rows) - 0)})] - (swap! current-query assoc - :stmt stmt - :conn conn) - (j/query db stmt - {:as-arrays? true - :result-set-fn - (fn [rs] - (let [single-record? - (not (next (next rs)))] - (mapv - #(clob-to-string-row - % single-record?) - rs)))})))) - (let [result (first (j/execute! db (list sql))) - msg (if (> result 0) - (str "Records affected: " result) - "Executed")] - (when (ddl? sql) - (invalidate-cache db)) - (list :message msg))) + (with-open [conn (j/get-connection db)] + (let [statement (.createStatement conn)] + (mapv (fn [sql] + (if (select? sql) + ;; SELECT + (list + :result-set + (let [stmt (j/prepare-statement + conn sql + {:fetch-size (or fetch-size @o/fetch-size 0) + :max-rows (or max-rows + (if (and (> @o/max-rows 0) + @o/show-too-many-rows-message) + ;; Get one more row to recognize that + ;; the actual number of records from this + ;; query is bigger than `max-rows`. + (+ @o/max-rows 1) + @o/max-rows) + 0)})] + (swap! current-query assoc + :stmt stmt + :conn conn) + (j/query db stmt + {:as-arrays? true + :result-set-fn + (fn [rs] + (let [single-record? + (not (next (next rs)))] + (mapv + #(clob-to-string-row + % single-record?) + rs)))}))) + ;; DML or DDL + (let [result-set? (.execute statement sql) + message (if-let [result (when + (and + (not result-set?) + (> (.getUpdateCount statement) 0)) + (.getUpdateCount statement))] + (str "Records affected: " result) + "Executed")] + (when (ddl? sql) + (invalidate-cache db)) + (list :message message)))) + sql-list))) (catch SQLException e - (list :message - (o/unify-str "Error: " (.getMessage e)))))) + [(list :message + (o/unify-str "Error: " (.getMessage e)))]))) (defn- eval-user-sql "Receive raw SQL from the user, log it, divide by statements and eval them." @@ -219,23 +228,24 @@ SELECT * FROM urls WHERE path like '%http://localhost%'" [sql nil]) sql (handle-special-cases db sql) statement-separator-re (get-separator-re (or manual-separator ";")) - results (doall - (for [sql-part (filter + results (let [sql-parts (filter ;; Remove parts contains comments only. (fn [part] (seq (s/trim (s/replace part comments-re "")))) (if (or (not (:separator db)) manual-separator) (s/split sql statement-separator-re) - [sql]))] - (let [[result-type result] (eval-sql-core :db db - :sql sql-part - :max-rows rows-limit - :fetch-size fetch-size)] - (if (= result-type :result-set) - (o/print-table result fetch-size) - (println result)) - [result-type result])))] + [sql])) + result-list (eval-sql-core :db db + :sql-list sql-parts + :max-rows rows-limit + :fetch-size fetch-size) + _ (doall + (for [[result-type result] result-list] + (if (= result-type :result-set) + (o/print-table result fetch-size) + (println result))))] + result-list)] (complete nil :start-time (:start-time @current-query) diff --git a/elpa/ejc-sql-20230702.2048/src/ejc_sql/deps_resolver.clj b/elpa/ejc-sql-20241111.117/src/ejc_sql/deps_resolver.clj similarity index 100% rename from elpa/ejc-sql-20230702.2048/src/ejc_sql/deps_resolver.clj rename to elpa/ejc-sql-20241111.117/src/ejc_sql/deps_resolver.clj diff --git a/elpa/ejc-sql-20230702.2048/src/ejc_sql/keywords.clj b/elpa/ejc-sql-20241111.117/src/ejc_sql/keywords.clj similarity index 100% rename from elpa/ejc-sql-20230702.2048/src/ejc_sql/keywords.clj rename to elpa/ejc-sql-20241111.117/src/ejc_sql/keywords.clj diff --git a/elpa/ejc-sql-20230702.2048/src/ejc_sql/lib.clj b/elpa/ejc-sql-20241111.117/src/ejc_sql/lib.clj similarity index 100% rename from elpa/ejc-sql-20230702.2048/src/ejc_sql/lib.clj rename to elpa/ejc-sql-20241111.117/src/ejc_sql/lib.clj diff --git a/elpa/ejc-sql-20230702.2048/src/ejc_sql/output.clj b/elpa/ejc-sql-20241111.117/src/ejc_sql/output.clj similarity index 100% rename from elpa/ejc-sql-20230702.2048/src/ejc_sql/output.clj rename to elpa/ejc-sql-20241111.117/src/ejc_sql/output.clj diff --git a/elpa/ejc-sql-20230702.2048/src/ejc_sql/structure.clj b/elpa/ejc-sql-20241111.117/src/ejc_sql/structure.clj similarity index 98% rename from elpa/ejc-sql-20230702.2048/src/ejc_sql/structure.clj rename to elpa/ejc-sql-20241111.117/src/ejc_sql/structure.clj index 97f0d092..3be8058b 100644 --- a/elpa/ejc-sql-20230702.2048/src/ejc_sql/structure.clj +++ b/elpa/ejc-sql-20241111.117/src/ejc_sql/structure.clj @@ -1,6 +1,6 @@ ;;; structure.clj -- Receive database stucture and keep it in cache. -;;; Copyright © 2016-2023 - Kostafey +;;; Copyright © 2016-2024 - Kostafey ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -366,6 +366,12 @@ FROM information_schema.tables AS t WHERE UPPER(t.table_name) = '%s' " (s/upper-case entity-name))) + :table (fn [& {:keys [entity-name]}] + (format " + SELECT sql + FROM INFORMATION_SCHEMA.TABLES + WHERE TABLE_NAME = '%s' " + (s/upper-case entity-name))) :view (fn [& {:keys [entity-name]}] ((default-queries :view) :entity-name entity-name))} ;;-------- @@ -1164,10 +1170,12 @@ (println) (println "Constraints:") (println) - (o/print-table (second (c/eval-sql-core :db db - :sql sql - :fetch-size 0 - :max-rows 0))))))) + (o/print-table (second + (first + (c/eval-sql-core :db db + :sql-list (list sql) + :fetch-size 0 + :max-rows 0)))))))) (c/complete nil :display-result true diff --git a/elpa/ejc-sql-readme.txt b/elpa/ejc-sql-readme.txt deleted file mode 100644 index 4875dd4d..00000000 --- a/elpa/ejc-sql-readme.txt +++ /dev/null @@ -1,4 +0,0 @@ -ejc-sql turns Emacs into simple SQL client, it uses JDBC connection to -databases via clojure/java.jdbc lib. - -See README.md for detailed description. -- 2.47.3