aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/progmodes/sql.el
diff options
context:
space:
mode:
authorSam Steingold2014-09-12 15:57:40 -0400
committerSam Steingold2014-09-12 15:57:40 -0400
commit82bb5d8c5bc9c732fb98e27f27f9aa03664055f1 (patch)
treeb6e94bcfe8d713e04b956bc07a595c118f284ff3 /lisp/progmodes/sql.el
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>.
Diffstat (limited to 'lisp/progmodes/sql.el')
-rw-r--r--lisp/progmodes/sql.el58
1 files changed, 58 insertions, 0 deletions
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