aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Steingold2014-09-12 15:57:40 -0400
committerSam Steingold2014-09-12 15:57:40 -0400
commit82bb5d8c5bc9c732fb98e27f27f9aa03664055f1 (patch)
treeb6e94bcfe8d713e04b956bc07a595c118f284ff3
parent9f4ee9977653a7666c4c2d82d1f1ffb089bb7487 (diff)
downloademacs-82bb5d8c5bc9c732fb98e27f27f9aa03664055f1.tar.gz
emacs-82bb5d8c5bc9c732fb98e27f27f9aa03664055f1.zip
Add support for Vertica SQL.
* lisp/progmodes/sql.el (sql-product-alist): Add vertica. (sql-vertica-program, sql-vertica-options) (sql-vertica-login-params, sql-comint-vertica, sql-vertica): New functions and variables to support Vertica. Inspired by code by Roman Scherer <roman@burningswell.com>.
-rw-r--r--etc/NEWS2
-rw-r--r--lisp/ChangeLog8
-rw-r--r--lisp/progmodes/sql.el58
3 files changed, 68 insertions, 0 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 75cf583a864..56aa9958bd0 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -155,6 +155,8 @@ connections using Tramp.
155interactive buffer and advances to the next line, skipping whitespace 155interactive buffer and advances to the next line, skipping whitespace
156and comments. 156and comments.
157 157
158*** Add support for Vertica SQL.
159
158** VC and related modes 160** VC and related modes
159 161
160*** New option `vc-annotate-background-mode' controls whether 162*** New option `vc-annotate-background-mode' controls whether
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d19a9eba204..0e8672b9daf 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
12014-09-12 Sam Steingold <sds@gnu.org>
2
3 * progmodes/sql.el (sql-product-alist): Add vertica.
4 (sql-vertica-program, sql-vertica-options)
5 (sql-vertica-login-params, sql-comint-vertica, sql-vertica):
6 New functions and variables to support Vertica.
7 Inspired by code by Roman Scherer <roman@burningswell.com>.
8
12014-09-11 Paul Eggert <eggert@cs.ucla.edu> 92014-09-11 Paul Eggert <eggert@cs.ucla.edu>
2 10
3 * ses.el (ses-file-format-extend-parameter-list): Rename from 11 * ses.el (ses-file-format-extend-parameter-list): Rename from
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el
index 4029b2e8d3b..92ab4d557d4 100644
--- a/lisp/progmodes/sql.el
+++ b/lisp/progmodes/sql.el
@@ -505,6 +505,19 @@ file. Since that is a plaintext file, this could be dangerous."
505 :prompt-length 5 505 :prompt-length 5
506 :syntax-alist ((?@ . "_")) 506 :syntax-alist ((?@ . "_"))
507 :terminator ("^go" . "go")) 507 :terminator ("^go" . "go"))
508
509 (vertica
510 :name "Vertica"
511 :sqli-program sql-vertica-program
512 :sqli-options sql-vertica-options
513 :sqli-login sql-vertica-login-params
514 :sqli-comint-func 'sql-comint-vertica
515 :list-all ("select table_name from v_catalog.tables" .
516 "select * from v_catalog.tables")
517 :list-table "\\d %s"
518 :prompt-regexp "^\\w*=[#>] "
519 :prompt-length 5
520 :prompt-cont-regexp "^\\w*[-(][#>] ")
508 ) 521 )
509 "An alist of product specific configuration settings. 522 "An alist of product specific configuration settings.
510 523
@@ -5056,6 +5069,51 @@ buffer.
5056 5069
5057 5070
5058 5071
5072(defcustom sql-vertica-program "vsql"
5073 "Command to start the Vertica client."
5074 :version "24.5"
5075 :type 'file
5076 :group 'SQL)
5077
5078(defcustom sql-vertica-options '("-P" "pager=off")
5079 "List of additional options for `sql-vertica-program'.
5080The default value disables the internal pager."
5081 :version "24.5"
5082 :type '(repeat string)
5083 :group 'SQL)
5084
5085(defcustom sql-vertica-login-params '(user password database server)
5086 "List of login parameters needed to connect to Vertica."
5087 :version "24.5"
5088 :type 'sql-login-params
5089 :group 'SQL)
5090
5091(defun sql-comint-vertica (product options)
5092 "Create comint buffer and connect to Vertica."
5093 (sql-comint product
5094 (nconc
5095 (and (not (string= "" sql-server))
5096 (list "-h" sql-server))
5097 (and (not (string= "" sql-database))
5098 (list "-d" sql-database))
5099 (and (not (string= "" sql-password))
5100 (list "-w" sql-password))
5101 (and (not (string= "" sql-user))
5102 (list "-U" sql-user))
5103 options)))
5104
5105;;;###autoload
5106(defun sql-vertica (&optional buffer)
5107 "Run vsql as an inferior process."
5108 (interactive "P")
5109 (sql-product-interactive 'vertica buffer))
5110
5111(provide 'vertica)
5112
5113;;; vertica.el ends here
5114
5115
5116
5059(provide 'sql) 5117(provide 'sql)
5060 5118
5061;;; sql.el ends here 5119;;; sql.el ends here