Mercurial > emacs
annotate lisp/progmodes/sql.el @ 55219:7f21f42b5c55
*** empty log message ***
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Wed, 28 Apr 2004 21:00:06 +0000 |
parents | 702be51912a8 |
children | cebca4e25fae |
rev | line source |
---|---|
24050 | 1 ;;; sql.el --- specialized comint.el for SQL interpreters |
2 | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
3 ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. |
24050 | 4 |
25381
970b18c6803f
(sql-sybase): use sql-server instead of sql-database.
Alex Schroeder <alex@gnu.org>
parents:
25183
diff
changeset
|
5 ;; Author: Alex Schroeder <alex@gnu.org> |
52482 | 6 ;; Maintainer: Michael Mauger <mmaug@yahoo.com> |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
7 ;; Version: 1.8.0 |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
8 ;; Keywords: comm languages processes |
38872 | 9 ;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?SqlMode |
24050 | 10 |
11 ;; This file is part of GNU Emacs. | |
12 | |
13 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
14 ;; it under the terms of the GNU General Public License as published by | |
15 ;; the Free Software Foundation; either version 2, or (at your option) | |
16 ;; any later version. | |
17 | |
18 ;; GNU Emacs is distributed in the hope that it will be useful, | |
19 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
21 ;; GNU General Public License for more details. | |
22 | |
23 ;; You should have received a copy of the GNU General Public License | |
24 ;; along with GNU Emacs; see the file COPYING. If not, write to the | |
25 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
26 ;; Boston, MA 02111-1307, USA. | |
27 | |
28 ;;; Commentary: | |
29 | |
24354
6a438ef0b573
Set version to 1.4.1. Changed mail address to
Richard M. Stallman <rms@gnu.org>
parents:
24353
diff
changeset
|
30 ;; Please send bug reports and bug fixes to the mailing list at |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
31 ;; sql.el@gnu.org. If you want to subscribe to the mailing list, send |
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
32 ;; mail to sql.el-request@gnu.org with `subscribe sql.el FIRSTNAME |
25381
970b18c6803f
(sql-sybase): use sql-server instead of sql-database.
Alex Schroeder <alex@gnu.org>
parents:
25183
diff
changeset
|
33 ;; LASTNAME' in the mail body. |
24050 | 34 |
35 ;; This file provides a sql-mode and a sql-interactive-mode. My goals | |
36 ;; were two simple modes providing syntactic hilighting. The | |
37 ;; interactive mode had to provide a command-line history; the other | |
38 ;; mode had to provide "send region/buffer to SQL interpreter" | |
39 ;; functions. "simple" in this context means easy to use, easy to | |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
40 ;; maintain and little or no bells and whistles. |
24050 | 41 |
42 ;; If anybody feels like extending this sql mode, take a look at the | |
43 ;; above mentioned modes and write a sqlx-mode on top of this one. If | |
44 ;; this proves to be difficult, please suggest changes that will | |
45 ;; facilitate your plans. | |
46 | |
47 ;; sql-interactive-mode is used to interact with a SQL interpreter | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
48 ;; process in a SQLi buffer (usually called `*SQL*'). The SQLi buffer |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
49 ;; is created by calling a SQL interpreter-specific entry function. Do |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
50 ;; *not* call sql-interactive-mode by itself. |
24050 | 51 |
52 ;; The list of currently supported interpreters and the corresponding | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
53 ;; entry function used to create the SQLi buffers is shown with |
24050 | 54 ;; `sql-help' (M-x sql-help). |
55 | |
56 ;; Since sql-interactive-mode is built on top of the general | |
57 ;; command-interpreter-in-a-buffer mode (comint mode), it shares a | |
58 ;; common base functionality, and a common set of bindings, with all | |
59 ;; modes derived from comint mode. This makes these modes easier to | |
60 ;; use. | |
61 | |
31392
1f97a090ba6d
(sql-postgres): Use sql-postgres-options.
Gerd Moellmann <gerd@gnu.org>
parents:
30905
diff
changeset
|
62 ;; sql-mode can be used to keep editing SQL statements. The SQL |
1f97a090ba6d
(sql-postgres): Use sql-postgres-options.
Gerd Moellmann <gerd@gnu.org>
parents:
30905
diff
changeset
|
63 ;; statements can be sent to the SQL process in the SQLi buffer. |
24050 | 64 |
65 ;; For documentation on the functionality provided by comint mode, and | |
36571
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
66 ;; the hooks available for customizing it, see the file `comint.el'. |
24050 | 67 |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
68 ;; Hint for newbies: take a look at `dabbrev-expand', `abbrev-mode', and |
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
69 ;; `imenu-add-menubar-index'. |
24050 | 70 |
71 ;;; Requirements for Emacs 19.34: | |
72 | |
73 ;; If you are using Emacs 19.34, you will have to get and install | |
74 ;; the file regexp-opt.el | |
75 ;; <URL:ftp://ftp.ifi.uio.no/pub/emacs/emacs-20.3/lisp/emacs-lisp/regexp-opt.el> | |
76 ;; and the custom package | |
77 ;; <URL:http://www.dina.kvl.dk/~abraham/custom/>. | |
78 | |
79 ;;; Bugs: | |
80 | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
81 ;; sql-ms now uses osql instead of isql. Osql flushes its error |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
82 ;; stream more frequently than isql so that error messages are |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
83 ;; available. There is no prompt and some output still is buffered. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
84 ;; This improves the interaction under Emacs but it still is somewhat |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
85 ;; awkward. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
86 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
87 ;; Quoted identifiers are not supported for hilighting. Most |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
88 ;; databases support the use of double quoted strings in place of |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
89 ;; identifiers; ms (Microsoft SQLServer) also supports identifiers |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
90 ;; enclosed within brackets []. |
24050 | 91 |
29937
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
92 ;; ChangeLog available on request. |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
93 |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
94 ;;; Product Support: |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
95 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
96 ;; To add support for additional SQL products the following steps |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
97 ;; must be followed ("xyz" is the name of the product in the examples |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
98 ;; below): |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
99 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
100 ;; 1) Add the product to `sql-product' choice list. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
101 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
102 ;; (const :tag "XyzDB" xyz) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
103 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
104 ;; 2) Add an entry to the `sql-product-support' list. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
105 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
106 ;; (xyz |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
107 ;; :font-lock sql-mode-xyz-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
108 ;; :sqli-login (user password server database) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
109 ;; :sqli-connect sql-connect-xyz |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
110 ;; :sqli-prompt-regexp "^xyzdb> " |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
111 ;; :sqli-prompt-length 7 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
112 ;; :sqli-input-sender nil |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
113 ;; :syntax-alist ((?# . "w"))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
114 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
115 ;; 3) Add customizable values for the product interpreter and options. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
116 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
117 ;; ;; Customization for XyzDB |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
118 ;; |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
119 ;; (defcustom sql-xyz-program "ixyz" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
120 ;; "*Command to start ixyz by XyzDB." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
121 ;; :type 'file |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
122 ;; :group 'SQL) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
123 ;; |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
124 ;; (defcustom sql-xyz-options '("-X" "-Y" "-Z") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
125 ;; "*List of additional options for `sql-xyz-program'." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
126 ;; :type '(repeat string) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
127 ;; :group 'SQL) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
128 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
129 ;; 4) Add an entry to SQL->Product submenu. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
130 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
131 ;; ["XyzDB" sql-highlight-xyz-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
132 ;; :style radio |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
133 ;; :selected (eq sql-product 'xyz)] |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
134 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
135 ;; 5) Add the font-lock specifications. At a minimum, default to |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
136 ;; using ANSI keywords. See sql-mode-oracle-font-lock-keywords for |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
137 ;; a more complex example. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
138 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
139 ;; (defvar sql-mode-xyz-font-lock-keywords sql-mode-ansi-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
140 ;; "XyzDB SQL keywords used by font-lock.") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
141 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
142 ;; 6) Add a product highlighting function. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
143 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
144 ;; (defun sql-highlight-xyz-keywords () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
145 ;; "Highlight XyzDB keywords." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
146 ;; (interactive) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
147 ;; (sql-set-product 'xyz)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
148 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
149 ;; 7) Add an autoloaded SQLi function. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
150 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
151 ;; ;;;###autoload |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
152 ;; (defun sql-xyz () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
153 ;; "Run ixyz by XyzDB as an inferior process." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
154 ;; (interactive) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
155 ;; (sql-product-interactive 'xyz)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
156 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
157 ;; 8) Add a connect function which formats the command line arguments |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
158 ;; and starts the product interpreter in a comint buffer. See the |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
159 ;; existing connect functions for examples of the types of |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
160 ;; processing available. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
161 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
162 ;; (defun sql-connect-xyz () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
163 ;; "Create comint buffer and connect to XyzDB using the login |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
164 ;; parameters and command options." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
165 ;; |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
166 ;; ;; Do something with `sql-user', `sql-password', |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
167 ;; ;; `sql-database', and `sql-server'. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
168 ;; (let ((params sql-xyz-options)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
169 ;; (if (not (string= "" sql-server)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
170 ;; (setq params (append (list "-S" sql-server) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
171 ;; (if (not (string= "" sql-database)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
172 ;; (setq params (append (list "-D" sql-database) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
173 ;; (if (not (string= "" sql-password)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
174 ;; (setq params (append (list "-P" sql-password) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
175 ;; (if (not (string= "" sql-user)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
176 ;; (setq params (append (list "-U" sql-user) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
177 ;; (set-buffer (apply 'make-comint "SQL" sql-xyz-program |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
178 ;; nil params)))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
179 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
180 ;; 9) Save and compile sql.el. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
181 |
51929
3da2cf447bf9
Revert last change.
Juanma Barranquero <lekktu@gmail.com>
parents:
51893
diff
changeset
|
182 ;;; To Do: |
51893
1a294cfb1636
Version 1.8.0 of sql-mode.
Juanma Barranquero <lekktu@gmail.com>
parents:
51607
diff
changeset
|
183 |
51929
3da2cf447bf9
Revert last change.
Juanma Barranquero <lekktu@gmail.com>
parents:
51893
diff
changeset
|
184 ;; Add better hilight support for other brands; there is a bias towards |
3da2cf447bf9
Revert last change.
Juanma Barranquero <lekktu@gmail.com>
parents:
51893
diff
changeset
|
185 ;; Oracle because that's what I use at work. Anybody else just send in |
3da2cf447bf9
Revert last change.
Juanma Barranquero <lekktu@gmail.com>
parents:
51893
diff
changeset
|
186 ;; your lists of reserved words, keywords and builtin functions! As |
3da2cf447bf9
Revert last change.
Juanma Barranquero <lekktu@gmail.com>
parents:
51893
diff
changeset
|
187 ;; long as I don't receive any feedback, everything is hilighted with |
3da2cf447bf9
Revert last change.
Juanma Barranquero <lekktu@gmail.com>
parents:
51893
diff
changeset
|
188 ;; ANSI keywords only. I received the list of ANSI keywords from a |
3da2cf447bf9
Revert last change.
Juanma Barranquero <lekktu@gmail.com>
parents:
51893
diff
changeset
|
189 ;; user; if you know of any changes, let me know. |
51893
1a294cfb1636
Version 1.8.0 of sql-mode.
Juanma Barranquero <lekktu@gmail.com>
parents:
51607
diff
changeset
|
190 |
51929
3da2cf447bf9
Revert last change.
Juanma Barranquero <lekktu@gmail.com>
parents:
51893
diff
changeset
|
191 ;; Add different hilighting levels. |
24050 | 192 |
193 ;;; Thanks to all the people who helped me out: | |
194 | |
195 ;; Kai Blauberg <kai.blauberg@metla.fi> | |
196 ;; <ibalaban@dalet.com> | |
197 ;; Yair Friedman <yfriedma@JohnBryce.Co.Il> | |
198 ;; Gregor Zych <zych@pool.informatik.rwth-aachen.de> | |
24267
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
199 ;; nino <nino@inform.dk> |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
200 ;; Berend de Boer <berend@pobox.com> |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
201 ;; Michael Mauger <mmaug@yahoo.com> |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
202 |
24050 | 203 |
204 | |
205 ;;; Code: | |
206 | |
207 (require 'comint) | |
208 ;; Need the following to allow GNU Emacs 19 to compile the file. | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
209 (eval-when-compile |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
210 (require 'regexp-opt)) |
24050 | 211 (require 'custom) |
212 | |
213 ;;; Allow customization | |
214 | |
215 (defgroup SQL nil | |
216 "Running a SQL interpreter from within Emacs buffers" | |
24556 | 217 :version "20.4" |
24050 | 218 :group 'processes) |
219 | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
220 ;; These four variables will be used as defaults, if set. |
24050 | 221 |
222 (defcustom sql-user "" | |
223 "*Default username." | |
224 :type 'string | |
225 :group 'SQL) | |
226 | |
227 (defcustom sql-password "" | |
228 "*Default password. | |
229 | |
230 Storing your password in a textfile such as ~/.emacs could be dangerous. | |
231 Customizing your password will store it in your ~/.emacs file." | |
232 :type 'string | |
233 :group 'SQL) | |
234 | |
235 (defcustom sql-database "" | |
236 "*Default database." | |
237 :type 'string | |
238 :group 'SQL) | |
239 | |
240 (defcustom sql-server "" | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
241 "*Default server or host." |
24050 | 242 :type 'string |
243 :group 'SQL) | |
244 | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
245 ;; SQL Product support |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
246 (defcustom sql-product 'ansi |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
247 "*Select the SQL database product used so that buffers can be |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
248 highlighted properly when you open them." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
249 :type '(choice (const :tag "ANSI" ansi) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
250 (const :tag "DB2" db2) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
251 (const :tag "Informix" informix) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
252 (const :tag "Ingres" ingres) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
253 (const :tag "Interbase" interbase) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
254 (const :tag "Linter" linter) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
255 (const :tag "Microsoft" ms) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
256 (const :tag "MySQL" mysql) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
257 (const :tag "Oracle" oracle) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
258 (const :tag "PostGres" postgres) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
259 (const :tag "Solid" solid) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
260 (const :tag "SQLite" sqlite) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
261 (const :tag "Sybase" sybase)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
262 :group 'SQL) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
263 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
264 (defvar sql-interactive-product nil |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
265 "Product under `sql-interactive-mode'.") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
266 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
267 (defvar sql-product-support |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
268 '((ansi |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
269 :font-lock sql-mode-ansi-font-lock-keywords) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
270 (db2 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
271 :font-lock sql-mode-db2-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
272 :sqli-login nil |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
273 :sqli-connect sql-connect-db2 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
274 :sqli-prompt-regexp "^db2 => " |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
275 :sqli-prompt-length 7) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
276 (informix |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
277 :font-lock sql-mode-informix-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
278 :sqli-login (database) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
279 :sqli-connect sql-connect-informix |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
280 :sqli-prompt-regexp "^SQL> " |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
281 :sqli-prompt-length 5) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
282 (ingres |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
283 :font-lock sql-mode-ingres-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
284 :sqli-login (database) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
285 :sqli-connect sql-connect-ingres |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
286 :sqli-prompt-regexp "^\* " |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
287 :sqli-prompt-length 2) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
288 (interbase |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
289 :font-lock sql-mode-interbase-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
290 :sqli-login (user password database) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
291 :sqli-connect sql-connect-interbase |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
292 :sqli-prompt-regexp "^SQL> " |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
293 :sqli-prompt-length 5) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
294 (linter |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
295 :font-lock sql-mode-linter-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
296 :sqli-login (user password database server) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
297 :sqli-connect sql-connect-linter |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
298 :sqli-prompt-regexp "^SQL>" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
299 :sqli-prompt-length 4) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
300 (ms |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
301 :font-lock sql-mode-ms-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
302 :sqli-login (user password server database) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
303 :sqli-connect sql-connect-ms |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
304 :sqli-prompt-regexp "^[0-9]*>" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
305 :sqli-prompt-length 5 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
306 :syntax-alist ((?@ . "w"))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
307 (mysql |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
308 :font-lock sql-mode-mysql-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
309 :sqli-login (user password database server) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
310 :sqli-connect sql-connect-mysql |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
311 :sqli-prompt-regexp "^mysql> " |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
312 :sqli-prompt-length 6) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
313 (oracle |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
314 :font-lock sql-mode-oracle-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
315 :sqli-login (user password database) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
316 :sqli-connect sql-connect-oracle |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
317 :sqli-prompt-regexp "^SQL> " |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
318 :sqli-prompt-length 5 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
319 :syntax-alist ((?$ . "w") (?# . "w"))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
320 (postgres |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
321 :font-lock sql-mode-postgres-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
322 :sqli-login (database server) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
323 :sqli-connect sql-connect-postgres |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
324 :sqli-prompt-regexp "^.*> *" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
325 :sqli-prompt-length 5) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
326 (solid |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
327 :font-lock sql-mode-solid-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
328 :sqli-login (user password server) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
329 :sqli-connect sql-connect-solid |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
330 :sqli-prompt-regexp "^" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
331 :sqli-prompt-length 0) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
332 (sqlite |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
333 :font-lock sql-mode-sqlite-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
334 :sqli-login (user password server database) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
335 :sqli-connect sql-connect-sqlite |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
336 :sqli-prompt-regexp "^sqlite> " |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
337 :sqli-prompt-length 8) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
338 (sybase |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
339 :font-lock sql-mode-sybase-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
340 :sqli-login (server user password database) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
341 :sqli-connect sql-connect-sybase |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
342 :sqli-prompt-regexp "^SQL> " |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
343 :sqli-prompt-length 5 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
344 :syntax-alist ((?@ . "w"))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
345 ) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
346 "This variable contains a list of product features for each of the |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
347 SQL products handled by `sql-mode'. Without an entry in this list a |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
348 product will not be properly highlighted and will not support |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
349 `sql-interactive-mode'. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
350 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
351 Each element in the list is in the following format: |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
352 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
353 \(PRODUCT FEATURE VALUE ...) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
354 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
355 where PRODUCT is the appropriate value of `sql-product'. The product |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
356 name is then followed by FEATURE-VALUE pairs. If a FEATURE is not |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
357 specified, its VALUE is treated as nil. FEATURE must be one of the |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
358 following: |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
359 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
360 :font-lock name of the variable containing the product |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
361 specific font lock highlighting patterns. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
362 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
363 :sqli-login a list of login parameters (i.e., user, |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
364 password, database and server) needed to |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
365 connect to the database. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
366 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
367 :sqli-connect the name of a function which accepts no |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
368 parameters that will use the values of |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
369 `sql-user', `sql-password', |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
370 `sql-database' and `sql-server' to open a |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
371 comint buffer and connect to the |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
372 database. Do product specific |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
373 configuration of comint in this function. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
374 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
375 :sqli-prompt-regexp a regular expression string that matches the |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
376 prompt issued by the product interpreter. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
377 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
378 :sqli-prompt-length the length of the prompt on the line. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
379 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
380 :syntax-alist an alist of syntax table entries to enable |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
381 special character treatment by font-lock and |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
382 imenu. ") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
383 |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
384 ;; misc customization of sql.el behaviour |
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
385 |
29937
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
386 (defcustom sql-electric-stuff nil |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
387 "Treat some input as electric. |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
388 If set to the symbol `semicolon', then hitting `;' will send current |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
389 input in the SQLi buffer to the process. |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
390 If set to the symbol `go', then hitting `go' on a line by itself will |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
391 send current input in the SQLi buffer to the process. |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
392 If set to nil, then you must use \\[comint-send-input] in order to send |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
393 current input in the SQLi buffer to the process." |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
394 :type '(choice (const :tag "Nothing" nil) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
395 (const :tag "The semikolon `;'" semicolon) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
396 (const :tag "The string `go' by itself" go)) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
397 :version "20.8" |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
398 :group 'SQL) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
399 |
24050 | 400 (defcustom sql-pop-to-buffer-after-send-region nil |
401 "*If t, pop to the buffer SQL statements are sent to. | |
402 | |
403 After a call to `sql-send-region' or `sql-send-buffer', | |
404 the window is split and the SQLi buffer is shown. If this | |
24267
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
405 variable is not nil, that buffer's window will be selected |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
406 by calling `pop-to-buffer'. If this variable is nil, that |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
407 buffer is shown using `display-buffer'." |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
408 :type 'boolean |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
409 :group 'SQL) |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
410 |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
411 ;; imenu support for sql-mode. |
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
412 |
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
413 (defvar sql-imenu-generic-expression |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
414 ;; Items are in reverse order because they are rendered in reverse. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
415 '(("Rules/Defaults" "^\\s-*create\\s-+\\(rule\\|default\\)\\s-+\\(\\w+\\)" 2) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
416 ("Sequences" "^\\s-*create\\s-+sequence\\s-+\\(\\w+\\)" 1) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
417 ("Triggers" "^\\s-*\\(create\\s-+\\(or\\s-+replace\\s-+\\)?\\)?trigger\\s-+\\(\\w+\\)" 3) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
418 ("Functions" "^\\s-*\\(create\\s-+\\(or\\s-+replace\\s-+\\)?\\)?function\\s-+\\(\\w+\\)" 3) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
419 ("Procedures" "^\\s-*\\(create\\s-+\\(or\\s-+replace\\s-+\\)?\\)?proc\\(edure\\)?\\s-+\\(\\w+\\)" 4) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
420 ("Packages" "^\\s-*create\\s-+\\(or\\s-+replace\\s-+\\)?package\\s-+\\(body\\s-+\\)?\\(\\w+\\)" 3) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
421 ("Indexes" "^\\s-*create\\s-+index\\s-+\\(\\w+\\)" 1) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
422 ("Tables/Views" "^\\s-*create\\s-+\\(\\(global\\s-+\\)?\\(temporary\\s-+\\)?table\\|view\\)\\s-+\\(\\w+\\)" 4)) |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
423 "Define interesting points in the SQL buffer for `imenu'. |
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
424 |
29937
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
425 This is used to set `imenu-generic-expression' when SQL mode is |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
426 entered. Subsequent changes to sql-imenu-generic-expression will not |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
427 affect existing SQL buffers because imenu-generic-expression is a |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
428 local variable.") |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
429 |
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
430 ;; history file |
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
431 |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
432 (defcustom sql-input-ring-file-name nil |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
433 "*If non-nil, name of the file to read/write input history. |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
434 |
24861
0d593aa15c0f
(sql-input-ring-file-name): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents:
24591
diff
changeset
|
435 You have to set this variable if you want the history of your commands |
0d593aa15c0f
(sql-input-ring-file-name): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents:
24591
diff
changeset
|
436 saved from one Emacs session to the next. If this variable is set, |
0d593aa15c0f
(sql-input-ring-file-name): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents:
24591
diff
changeset
|
437 exiting the SQL interpreter in an SQLi buffer will write the input |
0d593aa15c0f
(sql-input-ring-file-name): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents:
24591
diff
changeset
|
438 history to the specified file. Starting a new process in a SQLi buffer |
0d593aa15c0f
(sql-input-ring-file-name): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents:
24591
diff
changeset
|
439 will read the input history from the specified file. |
0d593aa15c0f
(sql-input-ring-file-name): Doc fix.
Karl Heuer <kwzh@gnu.org>
parents:
24591
diff
changeset
|
440 |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
441 This is used to initialize `comint-input-ring-file-name'. |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
442 |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
443 Note that the size of the input history is determined by the variable |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
444 `comint-input-ring-size'." |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
445 :type '(choice (const :tag "none" nil) |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
446 (file)) |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
447 :group 'SQL) |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
448 |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
449 (defcustom sql-input-ring-separator "\n--\n" |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
450 "*Separator between commands in the history file. |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
451 |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
452 If set to \"\\n\", each line in the history file will be interpreted as |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
453 one command. Multi-line commands are split into several commands when |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
454 the input ring is initialized from a history file. |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
455 |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
456 This variable used to initialize `comint-input-ring-separator'. |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
457 `comint-input-ring-separator' is part of Emacs 21; if your Emacs |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
458 does not have it, setting `sql-input-ring-separator' will have no |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
459 effect. In that case multiline commands will be split into several |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
460 commands when the input history is read, as if you had set |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
461 `sql-input-ring-separator' to \"\\n\"." |
24050 | 462 :type 'string |
463 :group 'SQL) | |
464 | |
465 ;; The usual hooks | |
466 | |
467 (defcustom sql-interactive-mode-hook '() | |
36571
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
468 "*Hook for customizing `sql-interactive-mode'." |
24050 | 469 :type 'hook |
470 :group 'SQL) | |
471 | |
472 (defcustom sql-mode-hook '() | |
36571
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
473 "*Hook for customizing `sql-mode'." |
24050 | 474 :type 'hook |
475 :group 'SQL) | |
476 | |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
477 (defcustom sql-set-sqli-hook '() |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
478 "*Hook for reacting to changes of `sql-buffer'. |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
479 |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
480 This is called by `sql-set-sqli-buffer' when the value of `sql-buffer' |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
481 is changed." |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
482 :type 'hook |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
483 :group 'SQL) |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
484 |
36571
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
485 ;; Customization for Oracle |
24050 | 486 |
487 (defcustom sql-oracle-program "sqlplus" | |
488 "*Command to start sqlplus by Oracle. | |
489 | |
490 Starts `sql-interactive-mode' after doing some setup. | |
491 | |
492 Under NT, \"sqlplus\" usually starts the sqlplus \"GUI\". In order to | |
493 start the sqlplus console, use \"plus33\" or something similar. You | |
494 will find the file in your Orant\\bin directory. | |
495 | |
496 The program can also specify a TCP connection. See `make-comint'." | |
497 :type 'file | |
498 :group 'SQL) | |
499 | |
29937
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
500 (defcustom sql-oracle-options nil |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
501 "*List of additional options for `sql-oracle-program'." |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
502 :type '(repeat string) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
503 :version "20.8" |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
504 :group 'SQL) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
505 |
51607
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
506 ;; Customization for SQLite |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
507 |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
508 (defcustom sql-sqlite-program "sqlite" |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
509 "*Command to start SQLite. |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
510 |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
511 Starts `sql-interactive-mode' after doing some setup. |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
512 |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
513 The program can also specify a TCP connection. See `make-comint'." |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
514 :type 'file |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
515 :group 'SQL) |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
516 |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
517 (defcustom sql-sqlite-options nil |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
518 "*List of additional options for `sql-sqlite-program'. |
51607
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
519 The following list of options is reported to make things work |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
520 on Windows: \"-C\" \"-t\" \"-f\" \"-n\"." |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
521 :type '(repeat string) |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
522 :version "20.8" |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
523 :group 'SQL) |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
524 |
36571
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
525 ;; Customization for MySql |
24267
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
526 |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
527 (defcustom sql-mysql-program "mysql" |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
528 "*Command to start mysql by TcX. |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
529 |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
530 Starts `sql-interactive-mode' after doing some setup. |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
531 |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
532 The program can also specify a TCP connection. See `make-comint'." |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
533 :type 'file |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
534 :group 'SQL) |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
535 |
32169
5aa8b2b669b7
(sql-mysql-options): New variable.
Gerd Moellmann <gerd@gnu.org>
parents:
31392
diff
changeset
|
536 (defcustom sql-mysql-options nil |
34704
7cb3b80e66b8
(sql-sybase-options): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
32621
diff
changeset
|
537 "*List of additional options for `sql-mysql-program'. |
7cb3b80e66b8
(sql-sybase-options): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
32621
diff
changeset
|
538 The following list of options is reported to make things work |
7cb3b80e66b8
(sql-sybase-options): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
32621
diff
changeset
|
539 on Windows: \"-C\" \"-t\" \"-f\" \"-n\"." |
32169
5aa8b2b669b7
(sql-mysql-options): New variable.
Gerd Moellmann <gerd@gnu.org>
parents:
31392
diff
changeset
|
540 :type '(repeat string) |
5aa8b2b669b7
(sql-mysql-options): New variable.
Gerd Moellmann <gerd@gnu.org>
parents:
31392
diff
changeset
|
541 :version "20.8" |
5aa8b2b669b7
(sql-mysql-options): New variable.
Gerd Moellmann <gerd@gnu.org>
parents:
31392
diff
changeset
|
542 :group 'SQL) |
5aa8b2b669b7
(sql-mysql-options): New variable.
Gerd Moellmann <gerd@gnu.org>
parents:
31392
diff
changeset
|
543 |
36571
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
544 ;; Customization for Solid |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
545 |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
546 (defcustom sql-solid-program "solsql" |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
547 "*Command to start SOLID SQL Editor. |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
548 |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
549 Starts `sql-interactive-mode' after doing some setup. |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
550 |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
551 The program can also specify a TCP connection. See `make-comint'." |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
552 :type 'file |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
553 :group 'SQL) |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
554 |
36571
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
555 ;; Customization for SyBase |
24050 | 556 |
557 (defcustom sql-sybase-program "isql" | |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
558 "*Command to start isql by SyBase. |
24050 | 559 |
560 Starts `sql-interactive-mode' after doing some setup. | |
561 | |
562 The program can also specify a TCP connection. See `make-comint'." | |
563 :type 'file | |
564 :group 'SQL) | |
565 | |
32621
50c28d51e0f2
(sql-sybase-options): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
32169
diff
changeset
|
566 (defcustom sql-sybase-options nil |
50c28d51e0f2
(sql-sybase-options): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
32169
diff
changeset
|
567 "*List of additional options for `sql-sybase-program'. |
50c28d51e0f2
(sql-sybase-options): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
32169
diff
changeset
|
568 Some versions of isql might require the -n option in order to work." |
50c28d51e0f2
(sql-sybase-options): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
32169
diff
changeset
|
569 :type '(repeat string) |
50c28d51e0f2
(sql-sybase-options): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
32169
diff
changeset
|
570 :version "20.8" |
50c28d51e0f2
(sql-sybase-options): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
32169
diff
changeset
|
571 :group 'SQL) |
50c28d51e0f2
(sql-sybase-options): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
32169
diff
changeset
|
572 |
36571
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
573 ;; Customization for Informix |
24050 | 574 |
575 (defcustom sql-informix-program "dbaccess" | |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
576 "*Command to start dbaccess by Informix. |
24050 | 577 |
578 Starts `sql-interactive-mode' after doing some setup. | |
579 | |
580 The program can also specify a TCP connection. See `make-comint'." | |
581 :type 'file | |
582 :group 'SQL) | |
583 | |
36571
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
584 ;; Customization for Ingres |
24050 | 585 |
586 (defcustom sql-ingres-program "sql" | |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
587 "*Command to start sql by Ingres. |
24050 | 588 |
589 Starts `sql-interactive-mode' after doing some setup. | |
590 | |
591 The program can also specify a TCP connection. See `make-comint'." | |
592 :type 'file | |
593 :group 'SQL) | |
594 | |
36571
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
595 ;; Customization for Microsoft |
24050 | 596 |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
597 (defcustom sql-ms-program "osql" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
598 "*Command to start osql by Microsoft. |
24050 | 599 |
600 Starts `sql-interactive-mode' after doing some setup. | |
601 | |
602 The program can also specify a TCP connection. See `make-comint'." | |
603 :type 'file | |
604 :group 'SQL) | |
605 | |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
606 (defcustom sql-ms-options '("-w" "300" "-n") |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
607 ;; -w is the linesize |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
608 "*List of additional options for `sql-ms-program'." |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
609 :type '(repeat string) |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
610 :version "21.4" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
611 :group 'SQL) |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
612 |
36571
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
613 ;; Customization for Postgres |
24050 | 614 |
615 (defcustom sql-postgres-program "psql" | |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
616 "Command to start psql by Postgres. |
24050 | 617 |
618 Starts `sql-interactive-mode' after doing some setup. | |
619 | |
620 The program can also specify a TCP connection. See `make-comint'." | |
621 :type 'file | |
622 :group 'SQL) | |
623 | |
34704
7cb3b80e66b8
(sql-sybase-options): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
32621
diff
changeset
|
624 (defcustom sql-postgres-options '("-P" "pager=off") |
31392
1f97a090ba6d
(sql-postgres): Use sql-postgres-options.
Gerd Moellmann <gerd@gnu.org>
parents:
30905
diff
changeset
|
625 "*List of additional options for `sql-postgres-program'. |
38872 | 626 The default setting includes the -P option which breaks older versions |
627 of the psql client (such as version 6.5.3). The -P option is equivalent | |
628 to the --pset option. If you want the psql to prompt you for a user | |
629 name, add the string \"-u\" to the list of options. If you want to | |
630 provide a user name on the command line (newer versions such as 7.1), | |
631 add your name with a \"-U\" prefix (such as \"-Umark\") to the list." | |
31392
1f97a090ba6d
(sql-postgres): Use sql-postgres-options.
Gerd Moellmann <gerd@gnu.org>
parents:
30905
diff
changeset
|
632 :type '(repeat string) |
1f97a090ba6d
(sql-postgres): Use sql-postgres-options.
Gerd Moellmann <gerd@gnu.org>
parents:
30905
diff
changeset
|
633 :version "20.8" |
1f97a090ba6d
(sql-postgres): Use sql-postgres-options.
Gerd Moellmann <gerd@gnu.org>
parents:
30905
diff
changeset
|
634 :group 'SQL) |
1f97a090ba6d
(sql-postgres): Use sql-postgres-options.
Gerd Moellmann <gerd@gnu.org>
parents:
30905
diff
changeset
|
635 |
36571
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
636 ;; Customization for Interbase |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
637 |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
638 (defcustom sql-interbase-program "isql" |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
639 "*Command to start isql by Interbase. |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
640 |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
641 Starts `sql-interactive-mode' after doing some setup. |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
642 |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
643 The program can also specify a TCP connection. See `make-comint'." |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
644 :type 'file |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
645 :group 'SQL) |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
646 |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
647 (defcustom sql-interbase-options nil |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
648 "*List of additional options for `sql-interbase-program'." |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
649 :type '(repeat string) |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
650 :version "20.8" |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
651 :group 'SQL) |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
652 |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
653 ;; Customization for DB2 |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
654 |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
655 (defcustom sql-db2-program "db2" |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
656 "*Command to start db2 by IBM. |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
657 |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
658 Starts `sql-interactive-mode' after doing some setup. |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
659 |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
660 The program can also specify a TCP connection. See `make-comint'." |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
661 :type 'file |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
662 :group 'SQL) |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
663 |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
664 (defcustom sql-db2-options nil |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
665 "*List of additional options for `sql-db2-program'." |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
666 :type '(repeat string) |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
667 :version "20.8" |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
668 :group 'SQL) |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
669 |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
670 ;; Customization for Linter |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
671 |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
672 (defcustom sql-linter-program "inl" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
673 "*Command to start inl by RELEX. |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
674 |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
675 Starts `sql-interactive-mode' after doing some setup." |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
676 :type 'file |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
677 :group 'SQL) |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
678 |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
679 (defcustom sql-linter-options nil |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
680 "*List of additional options for `sql-linter-program'." |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
681 :type '(repeat string) |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
682 :version "21.3" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
683 :group 'SQL) |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
684 |
24050 | 685 |
686 | |
687 ;;; Variables which do not need customization | |
688 | |
689 (defvar sql-user-history nil | |
690 "History of usernames used.") | |
691 | |
692 (defvar sql-database-history nil | |
693 "History of databases used.") | |
694 | |
695 (defvar sql-server-history nil | |
696 "History of servers used.") | |
697 | |
698 ;; Passwords are not kept in a history. | |
699 | |
700 (defvar sql-buffer nil | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
701 "Current SQLi buffer. |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
702 |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
703 The global value of sql-buffer is the name of the latest SQLi buffer |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
704 created. Any SQL buffer created will make a local copy of this value. |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
705 See `sql-interactive-mode' for more on multiple sessions. If you want |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
706 to change the SQLi buffer a SQL mode sends its SQL strings to, change |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
707 the local value of `sql-buffer' using \\[sql-set-sqli-buffer].") |
24050 | 708 |
709 (defvar sql-prompt-regexp nil | |
710 "Prompt used to initialize `comint-prompt-regexp'. | |
711 | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
712 You can change `sql-prompt-regexp' on `sql-interactive-mode-hook'.") |
24050 | 713 |
24267
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
714 (defvar sql-prompt-length 0 |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
715 "Prompt used to set `left-margin' in `sql-interactive-mode'. |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
716 |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
717 You can change `sql-prompt-length' on `sql-interactive-mode-hook'.") |
24267
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
718 |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
719 (defvar sql-alternate-buffer-name nil |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
720 "Buffer-local string used to possibly rename the SQLi buffer. |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
721 |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
722 Used by `sql-rename-buffer'.") |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
723 |
29937
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
724 ;; Keymap for sql-interactive-mode. |
24050 | 725 |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
726 (defvar sql-interactive-mode-map |
29937
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
727 (let ((map (make-sparse-keymap))) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
728 (if (functionp 'set-keymap-parent) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
729 (set-keymap-parent map comint-mode-map); Emacs |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
730 (set-keymap-parents map (list comint-mode-map))); XEmacs |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
731 (if (functionp 'set-keymap-name) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
732 (set-keymap-name map 'sql-interactive-mode-map)); XEmacs |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
733 (define-key map (kbd "C-j") 'sql-accumulate-and-indent) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
734 (define-key map (kbd "C-c C-w") 'sql-copy-column) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
735 (define-key map (kbd "O") 'sql-magic-go) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
736 (define-key map (kbd "o") 'sql-magic-go) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
737 (define-key map (kbd ";") 'sql-magic-semicolon) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
738 map) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
739 "Mode map used for `sql-interactive-mode'. |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
740 Based on `comint-mode-map'.") |
24050 | 741 |
742 ;; Keymap for sql-mode. | |
743 | |
744 (defvar sql-mode-map | |
745 (let ((map (make-sparse-keymap))) | |
29937
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
746 (define-key map (kbd "C-c C-c") 'sql-send-paragraph) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
747 (define-key map (kbd "C-c C-r") 'sql-send-region) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
748 (define-key map (kbd "C-c C-b") 'sql-send-buffer) |
24050 | 749 map) |
750 "Mode map used for `sql-mode'.") | |
751 | |
752 ;; easy menu for sql-mode. | |
753 | |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
754 (easy-menu-define |
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
755 sql-mode-menu sql-mode-map |
24050 | 756 "Menu for `sql-mode'." |
757 '("SQL" | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
758 ["Send Paragraph" sql-send-paragraph (and (buffer-live-p sql-buffer) |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
759 (get-buffer-process sql-buffer))] |
31392
1f97a090ba6d
(sql-postgres): Use sql-postgres-options.
Gerd Moellmann <gerd@gnu.org>
parents:
30905
diff
changeset
|
760 ["Send Region" sql-send-region (and (or (and (boundp 'mark-active); Emacs |
1f97a090ba6d
(sql-postgres): Use sql-postgres-options.
Gerd Moellmann <gerd@gnu.org>
parents:
30905
diff
changeset
|
761 mark-active) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
762 (mark t)); XEmacs |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
763 (buffer-live-p sql-buffer) |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
764 (get-buffer-process sql-buffer))] |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
765 ["Send Buffer" sql-send-buffer (and (buffer-live-p sql-buffer) |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
766 (get-buffer-process sql-buffer))] |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
767 ["--" nil nil] |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
768 ["Start SQLi session" sql-product-interactive (sql-product-feature :sqli-connect)] |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
769 ["Show SQLi buffer" sql-show-sqli-buffer t] |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
770 ["Set SQLi buffer" sql-set-sqli-buffer t] |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
771 ["Pop to SQLi buffer after send" |
24050 | 772 sql-toggle-pop-to-buffer-after-send-region |
773 :style toggle | |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
774 :selected sql-pop-to-buffer-after-send-region] |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
775 ["--" nil nil] |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
776 ("Product" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
777 ["ANSI" sql-highlight-ansi-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
778 :style radio |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
779 :selected (eq sql-product 'ansi)] |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
780 ["DB2" sql-highlight-db2-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
781 :style radio |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
782 :selected (eq sql-product 'db2)] |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
783 ["Informix" sql-highlight-informix-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
784 :style radio |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
785 :selected (eq sql-product 'informix)] |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
786 ["Ingres" sql-highlight-ingres-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
787 :style radio |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
788 :selected (eq sql-product 'ingres)] |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
789 ["Interbase" sql-highlight-interbase-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
790 :style radio |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
791 :selected (eq sql-product 'interbase)] |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
792 ["Linter" sql-highlight-linter-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
793 :style radio |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
794 :selected (eq sql-product 'linter)] |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
795 ["Microsoft" sql-highlight-ms-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
796 :style radio |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
797 :selected (eq sql-product 'ms)] |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
798 ["MySQL" sql-highlight-mysql-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
799 :style radio |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
800 :selected (eq sql-product 'mysql)] |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
801 ["Oracle" sql-highlight-oracle-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
802 :style radio |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
803 :selected (eq sql-product 'oracle)] |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
804 ["Postgres" sql-highlight-postgres-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
805 :style radio |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
806 :selected (eq sql-product 'postgres)] |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
807 ["Solid" sql-highlight-solid-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
808 :style radio |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
809 :selected (eq sql-product 'solid)] |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
810 ["SQLite" sql-highlight-sqlite-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
811 :style radio |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
812 :selected (eq sql-product 'sqlite)] |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
813 ["Sybase" sql-highlight-sybase-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
814 :style radio |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
815 :selected (eq sql-product 'sybase)] |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
816 ))) |
24050 | 817 |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
818 ;; easy menu for sql-interactive-mode. |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
819 |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
820 (easy-menu-define |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
821 sql-interactive-mode-menu sql-interactive-mode-map |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
822 "Menu for `sql-interactive-mode'." |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
823 '("SQL" |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
824 ["Rename Buffer" sql-rename-buffer t])) |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
825 |
24050 | 826 ;; Abbreviations -- if you want more of them, define them in your |
827 ;; ~/.emacs file. Abbrevs have to be enabled in your ~/.emacs, too. | |
828 | |
829 (defvar sql-mode-abbrev-table nil | |
830 "Abbrev table used in `sql-mode' and `sql-interactive-mode'.") | |
831 (if sql-mode-abbrev-table | |
832 () | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
833 (let ((nargs (cdr (subr-arity (symbol-function 'define-abbrev)))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
834 d-a) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
835 ;; In Emacs 21.3+, provide SYSTEM-FLAG to define-abbrev. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
836 (setq d-a |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
837 (if (>= nargs 6) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
838 '(lambda (name expansion) (define-abbrev sql-mode-abbrev-table name expansion nil 0 t)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
839 '(lambda (name expansion) (define-abbrev sql-mode-abbrev-table name expansion)))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
840 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
841 (define-abbrev-table 'sql-mode-abbrev-table nil) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
842 (funcall d-a "ins" "insert") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
843 (funcall d-a "upd" "update") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
844 (funcall d-a "del" "delete") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
845 (funcall d-a "sel" "select") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
846 (funcall d-a "proc" "procedure") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
847 (funcall d-a "func" "function") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
848 (funcall d-a "cr" "create"))) |
24050 | 849 |
850 ;; Syntax Table | |
851 | |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
852 (defvar sql-mode-syntax-table |
24050 | 853 (let ((table (make-syntax-table))) |
854 ;; C-style comments /**/ (see elisp manual "Syntax Flags")) | |
855 (modify-syntax-entry ?/ ". 14" table) | |
856 (modify-syntax-entry ?* ". 23" table) | |
857 ;; double-dash starts comment | |
24354
6a438ef0b573
Set version to 1.4.1. Changed mail address to
Richard M. Stallman <rms@gnu.org>
parents:
24353
diff
changeset
|
858 (if (string-match "XEmacs\\|Lucid" emacs-version) |
6a438ef0b573
Set version to 1.4.1. Changed mail address to
Richard M. Stallman <rms@gnu.org>
parents:
24353
diff
changeset
|
859 (modify-syntax-entry ?- ". 56" table) |
6a438ef0b573
Set version to 1.4.1. Changed mail address to
Richard M. Stallman <rms@gnu.org>
parents:
24353
diff
changeset
|
860 (modify-syntax-entry ?- ". 12b" table)) |
24050 | 861 ;; newline and formfeed end coments |
862 (modify-syntax-entry ?\n "> b" table) | |
863 (modify-syntax-entry ?\f "> b" table) | |
24267
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
864 ;; single quotes (') quotes delimit strings |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
865 (modify-syntax-entry ?' "\"" table) |
40971
fa679d186a7d
(sql-mode): Doc change.
Richard M. Stallman <rms@gnu.org>
parents:
40432
diff
changeset
|
866 ;; backslash is no escape character |
fa679d186a7d
(sql-mode): Doc change.
Richard M. Stallman <rms@gnu.org>
parents:
40432
diff
changeset
|
867 (modify-syntax-entry ?\\ "." table) |
24050 | 868 table) |
869 "Syntax table used in `sql-mode' and `sql-interactive-mode'.") | |
870 | |
871 ;; Font lock support | |
872 | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
873 (defvar sql-mode-font-lock-object-name |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
874 (list (concat "^\\s-*\\(create\\(\\s-+or\\s-+replace\\)?\\|drop\\|alter\\)?\\s-+" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
875 "\\(\\(global\\s-+\\)?\\(temporary\\s-+\\)?table\\|view\\|package\\(\\s-+body\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
876 "proc\\(edure\\)?\\|function\\|trigger\\|sequence\\|rule\\|default\\)\\s-+\\(\\w+\\)") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
877 8 'font-lock-function-name-face) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
878 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
879 "Pattern to match the names of top-level objects in a CREATE, |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
880 DROP or ALTER statement. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
881 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
882 The format of variable should be a valid `font-lock-keywords' |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
883 entry.") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
884 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
885 (defvar sql-mode-ansi-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
886 (let ((ansi-keywords (eval-when-compile |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
887 (concat "\\b" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
888 (regexp-opt '( |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
889 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
890 "authorization" "avg" "begin" "close" "cobol" "commit" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
891 "continue" "count" "declare" "double" "end" "escape" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
892 "exec" "fetch" "foreign" "fortran" "found" "go" "goto" "indicator" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
893 "key" "language" "max" "min" "module" "numeric" "open" "pascal" "pli" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
894 "precision" "primary" "procedure" "references" "rollback" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
895 "schema" "section" "some" "sqlcode" "sqlerror" "sum" "work" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
896 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
897 ) t) "\\b"))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
898 (ansi-reserved-words (eval-when-compile |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
899 (concat "\\b" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
900 (regexp-opt '( |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
901 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
902 "all" "and" "any" "as" "asc" "between" "by" "check" "create" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
903 "current" "default" "delete" "desc" "distinct" "exists" "float" "for" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
904 "from" "grant" "group" "having" "in" "insert" "into" "is" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
905 "like" "not" "null" "of" "on" "option" "or" "order" "privileges" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
906 "public" "select" "set" "table" "to" "union" "unique" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
907 "update" "user" "values" "view" "where" "with" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
908 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
909 ) t) "\\b"))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
910 (ansi-types (eval-when-compile |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
911 (concat "\\b" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
912 (regexp-opt '( |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
913 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
914 ;; ANSI Keywords that look like types |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
915 "character" "cursor" "dec" "int" "real" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
916 ;; ANSI Reserved Word that look like types |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
917 "char" "integer" "smallint" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
918 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
919 ) t) "\\b")))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
920 (list (cons ansi-keywords 'font-lock-keyword-face) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
921 (cons ansi-reserved-words 'font-lock-keyword-face) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
922 (cons ansi-types 'font-lock-type-face))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
923 |
24050 | 924 "ANSI SQL keywords used by font-lock. |
925 | |
926 This variable is used by `sql-mode' and `sql-interactive-mode'. The | |
927 regular expressions are created during compilation by calling the | |
928 function `regexp-opt'. Therefore, take a look at the source before | |
929 you define your own sql-mode-ansi-font-lock-keywords. You may want to | |
930 add functions and PL/SQL keywords.") | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
931 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
932 (defvar sql-mode-oracle-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
933 (let ((oracle-keywords (eval-when-compile |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
934 (concat "\\b" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
935 (regexp-opt '( |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
936 ;; Oracle (+ANSI) SQL keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
937 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
938 ; ANSI keywords |
24050 | 939 "authorization" "avg" "begin" "close" "cobol" "commit" |
940 "continue" "count" "declare" "double" "end" "escape" | |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
941 "exec" "fetch" "foreign" "fortran" "found" "go" "goto" "indicator" |
24050 | 942 "key" "language" "max" "min" "module" "numeric" "open" "pascal" "pli" |
943 "precision" "primary" "procedure" "references" "rollback" | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
944 "schema" "section" "some" "sqlcode" "sqlerror" "sum" "work" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
945 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
946 ; ANSI reserved words |
24050 | 947 "all" "and" "any" "as" "asc" "between" "by" "check" "create" |
948 "current" "default" "delete" "desc" "distinct" "exists" "float" "for" | |
949 "from" "grant" "group" "having" "in" "insert" "into" "is" | |
950 "like" "not" "null" "of" "on" "option" "or" "order" "privileges" | |
951 "public" "select" "set" "table" "to" "union" "unique" | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
952 "update" "user" "values" "view" "where" "with" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
953 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
954 "access" "add" "admin" "after" "allocate" "alter" "analyze" "archive" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
955 "archivelog" "audit" "authid" "backup" "become" "before" "block" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
956 "body" "cache" "cancel" "cascade" "change" "checkpoint" "cluster" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
957 "comment" "compile" "compress" "compute" "connect" "constraint" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
958 "constraints" "contents" "controlfile" "cross" "currval" "cycle" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
959 "database" "datafile" "dba" "deterministic" "disable" "dismount" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
960 "drop" "dump" "each" "else" "else" "elsif" "enable" "events" "except" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
961 "exceptions" "exclusive" "execute" "exit" "explain" "extent" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
962 "externally" "false" "file" "flush" "force" "freelist" "freelists" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
963 "full" "function" "global" "grant" "groups" "identified" "if" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
964 "immediate" "including" "increment" "index" "initial" "initrans" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
965 "inner" "instance" "intersect" "join" "layer" "left" "level" "link" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
966 "lists" "lock" "logfile" "long" "loop" "manage" "manual" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
967 "maxdatafiles" "maxextents" "maxinistances" "maxlogfiles" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
968 "maxloghistory" "maxlogmembers" "maxtrans" "maxvalue" "merge" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
969 "minextents" "minus" "minvalue" "mode" "modify" "mount" "natural" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
970 "new" "next" "nextval" "noarchivelog" "noaudit" "nocache" "nocompress" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
971 "nocycle" "nomaxvalue" "nominvalue" "none" "noorder" "noresetlogs" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
972 "normal" "nosort" "nowait" "off" "offline" "old" "online" "only" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
973 "optimal" "others" "out" "outer" "over" "own" "package" "parallel" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
974 "parallel_enable" "pctfree" "pctincrease" "pctused" "plan" "pragma" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
975 "preserve" "prior" "private" "profile" "quota" "raise" "raw" "read" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
976 "recover" "referencing" "rename" "replace" "resetlogs" "resource" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
977 "restrict_references" "restricted" "return" "returning" "reuse" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
978 "revoke" "right" "rnds" "rnps" "role" "roles" "row" "rowlabel" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
979 "rownum" "rows" "savepoint" "scn" "segment" "sequence" "session" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
980 "share" "shared" "size" "snapshot" "sort" "statement_id" "statistics" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
981 "stop" "storage" "subtype" "successful" "switch" "synonym" "sysdate" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
982 "system" "tables" "tablespace" "temporary" "then" "thread" "tracing" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
983 "transaction" "trigger" "triggers" "true" "truncate" "type" "uid" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
984 "under" "unlimited" "until" "use" "using" "validate" "when" "while" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
985 "wnds" "wnps" "write" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
986 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
987 ) t) "\\b"))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
988 (oracle-warning-words (eval-when-compile |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
989 (concat "\\b" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
990 (regexp-opt '( |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
991 ;; PLSQL defined exceptions |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
992 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
993 "access_into_null" "case_not_found" "collection_is_null" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
994 "cursor_already_open" "dup_val_on_index" "invalid_cursor" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
995 "invalid_number" "login_denied" "no_data_found" "not_logged_on" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
996 "program_error" "rowtype_mismatch" "self_is_null" "storage_error" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
997 "subscript_beyond_count" "subscript_outside_limit" "sys_invalid_rowid" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
998 "timeout_on_resource" "too_many_rows" "value_error" "zero_divide" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
999 "exception" "notfound" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1000 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1001 ) t) "\\b"))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1002 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1003 (oracle-sqlplus-commands |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1004 (eval-when-compile |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1005 (concat "^\\(\\(" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1006 (regexp-opt '( |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1007 ;; SQL*Plus commands |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1008 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1009 "@" "@@" "accept" "append" "archive" "attribute" "break" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1010 "btitle" "change" "clear" "column" "connect" "copy" "define" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1011 "del" "describe" "disconnect" "edit" "execute" "exit" "get" "help" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1012 "host" "input" "list" "password" "pause" "print" "prompt" "recover" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1013 "remark" "repfooter" "repheader" "run" "save" "show" "shutdown" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1014 "spool" "start" "startup" "store" "timing" "ttitle" "undefine" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1015 "variable" "whenever" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1016 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1017 ) t) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1018 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1019 "\\)\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1020 "\\(compute\\s-+\\(avg\\|cou\\|min\\|max\\|num\\|sum\\|std\\|var\\)\\)\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1021 "\\(set\\s-+\\(appi\\(nfo\\)?\\|array\\(size\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1022 "auto\\(commit\\)?\\|autop\\(rint\\)?\\|autorecovery\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1023 "autot\\(race\\)?\\|blo\\(ckterminator\\)?\\|cmds\\(ep\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1024 "colsep\\|com\\(patibility\\)?\\|con\\(cat\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1025 "copyc\\(ommit\\)?\\|copytypecheck\\|def\\(ine\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1026 "describe\\|echo\\|editf\\(ile\\)?\\|emb\\(edded\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1027 "esc\\(ape\\)?\\|feed\\(back\\)?\\|flagger\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1028 "flu\\(sh\\)?\\|hea\\(ding\\)?\\|heads\\(ep\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1029 "instance\\|lin\\(esize\\)?\\|lobof\\(fset\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1030 "logsource\\|long\\|longc\\(hunksize\\)?\\|mark\\(up\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1031 "newp\\(age\\)?\\|null\\|numf\\(ormat\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1032 "num\\(width\\)?\\|pages\\(ize\\)?\\|pau\\(se\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1033 "recsep\\|recsepchar\\|serverout\\(put\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1034 "shift\\(inout\\)?\\|show\\(mode\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1035 "sqlbl\\(anklines\\)?\\|sqlc\\(ase\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1036 "sqlco\\(ntinue\\)?\\|sqln\\(umber\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1037 "sqlpluscompat\\(ibility\\)?\\|sqlpre\\(fix\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1038 "sqlp\\(rompt\\)?\\|sqlt\\(erminator\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1039 "suf\\(fix\\)?\\|tab\\|term\\(out\\)?\\|ti\\(me\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1040 "timi\\(ng\\)?\\|trim\\(out\\)?\\|trims\\(pool\\)?\\|" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1041 "und\\(erline\\)?\\|ver\\(ify\\)?\\|wra\\(p\\)?\\)\\)\\)" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1042 "\\b.*$" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1043 ))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1044 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1045 (oracle-types |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1046 (eval-when-compile |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1047 (concat "\\b" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1048 (regexp-opt '( |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1049 ;; Oracle Keywords that look like types |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1050 ;; Oracle Reserved Words that look like types |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1051 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1052 "bfile" "binary_integer" "blob" "boolean" "byte" "char" "character" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1053 "clob" "date" "day" "dec" "decimal" "double" "float" "int" "integer" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1054 "interval" "local" "long" "month" "natural" "naturaln" "nchar" "nclob" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1055 "number" "numeric" "nvarchar2" "pls_integer" "positive" "positiven" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1056 "precision" "raw" "real" "rowid" "second" "signtype" "smallint" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1057 "string" "time" "timestamp" "urowid" "varchar" "varchar2" "year" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1058 "zone" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1059 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1060 ) t) "\\b"))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1061 (oracle-builtin-functions (eval-when-compile |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1062 (concat "\\b" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1063 (regexp-opt '( |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1064 ;; Misc Oracle builtin functions |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1065 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1066 "abs" "acos" "add_months" "ascii" "asciistr" "asin" "atan" "atan2" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1067 "avg" "bfilename" "bin_to_num" "bitand" "case" "cast" "ceil" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1068 "chartorowid" "chr" "coalesce" "compose" "concat" "convert" "corr" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1069 "cos" "cosh" "count" "covar_pop" "covar_samp" "cume_dist" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1070 "current_date" "current_timestamp" "current_user" "dbtimezone" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1071 "decode" "decompose" "dense_rank" "depth" "deref" "dump" "empty_blob" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1072 "empty_clob" "existsnode" "exp" "extract" "extractvalue" "first" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1073 "first_value" "floor" "from_tz" "greatest" "group_id" "grouping" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1074 "grouping_id" "hextoraw" "initcap" "instr" "lag" "last" "last_day" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1075 "last_value" "lead" "least" "length" "ln" "localtimestamp" "log" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1076 "lower" "lpad" "ltrim" "make_ref" "max" "min" "mod" "months_between" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1077 "nchr" "new_time" "next_day" "nls_charset_decl_len" "nls_charset_id" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1078 "nls_charset_name" "nls_initcap" "nls_lower" "nlssort" "nls_upper" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1079 "ntile" "nullif" "numtodsinterval" "numtoyminterval" "nvl" "nvl2" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1080 "path" "percent_rank" "percentile_cont" "percentile_disc" "power" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1081 "rank" "ratio_to_report" "rawtohex" "rawtonhex" "ref" "reftohex" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1082 "regr_slope" "regr_intercept" "regr_count" "regr_r2" "regr_avgx" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1083 "regr_avgy" "regr_sxx" "regr_syy" "regr_sxy" "round" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1084 "row_number" "rowidtochar" "rowidtonchar" "rpad" "rtrim" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1085 "sessiontimezone" "sign" "sin" "sinh" "soundex" "sqrt" "stddev" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1086 "stddev_pop" "stddev_samp" "substr" "sum" "sys_connect_by_path" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1087 "sys_context" "sys_dburigen" "sys_extract_utc" "sys_guid" "sys_typeid" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1088 "sys_xmlagg" "sys_xmlgen" "sysdate" "systimestamp" "tan" "tanh" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1089 "to_char" "to_clob" "to_date" "to_dsinterval" "to_lob" "to_multi_byte" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1090 "to_nchar" "to_nclob" "to_number" "to_single_byte" "to_timestamp" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1091 "to_timestamp_tz" "to_yminterval" "translate" "treat" "trim" "trunc" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1092 "tz_offset" "uid" "unistr" "updatexml" "upper" "user" "userenv" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1093 "value" "var_pop" "var_samp" "variance" "vsize" "width_bucket" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1094 "xmlagg" "xmlcolattval" "xmlconcat" "xmlelement" "xmlforest" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1095 "xmlsequence" "xmltransform" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1096 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1097 ) t) "\\b")))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1098 (list (cons oracle-sqlplus-commands 'font-lock-doc-face) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1099 (cons oracle-keywords 'font-lock-keyword-face) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1100 (cons oracle-warning-words 'font-lock-warning-face) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1101 ;; XEmacs doesn't have font-lock-builtin-face |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1102 (if (string-match "XEmacs\\|Lucid" emacs-version) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1103 (cons oracle-builtin-functions 'font-lock-preprocessor-face) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1104 ;; GNU Emacs 19 doesn't have it either |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1105 (if (string-match "GNU Emacs 19" emacs-version) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1106 (cons oracle-builtin-functions 'font-lock-keyword-face) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1107 ;; Emacs |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1108 (cons oracle-builtin-functions 'font-lock-builtin-face))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1109 (cons oracle-types 'font-lock-type-face))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1110 |
24050 | 1111 "Oracle SQL keywords used by font-lock. |
1112 | |
1113 This variable is used by `sql-mode' and `sql-interactive-mode'. The | |
1114 regular expressions are created during compilation by calling the | |
1115 function `regexp-opt'. Therefore, take a look at the source before | |
1116 you define your own sql-mode-oracle-font-lock-keywords. You may want | |
1117 to add functions and PL/SQL keywords.") | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1118 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1119 (defvar sql-mode-postgres-font-lock-keywords |
24050 | 1120 (let ((postgres-reserved-words (eval-when-compile |
1121 (concat "\\b" | |
1122 (regexp-opt '( | |
1123 "language" | |
1124 ) t) "\\b"))) | |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
1125 (postgres-types (eval-when-compile |
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
1126 (concat "\\b" |
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
1127 (regexp-opt '( |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1128 |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
1129 "bool" "box" "circle" "char" "char2" "char4" "char8" "char16" "date" |
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
1130 "float4" "float8" "int2" "int4" "int8" "line" "lseg" "money" "path" |
24050 | 1131 "point" "polygon" "serial" "text" "time" "timespan" "timestamp" "varchar" |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1132 |
24050 | 1133 ) t)"\\b"))) |
1134 (postgres-builtin-functions (eval-when-compile | |
1135 (concat "\\b" | |
1136 (regexp-opt '( | |
1137 ;; Misc Postgres builtin functions | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1138 |
24050 | 1139 "abstime" "age" "area" "box" "center" "date_part" "date_trunc" |
1140 "datetime" "dexp" "diameter" "dpow" "float" "float4" "height" | |
1141 "initcap" "integer" "isclosed" "isfinite" "isoldpath" "isopen" | |
1142 "length" "lower" "lpad" "ltrim" "pclose" "point" "points" "popen" | |
1143 "position" "radius" "reltime" "revertpoly" "rpad" "rtrim" "substr" | |
1144 "substring" "text" "timespan" "translate" "trim" "upgradepath" | |
1145 "upgradepoly" "upper" "varchar" "width" | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1146 |
24050 | 1147 ) t) "\\b")))) |
1148 (append sql-mode-ansi-font-lock-keywords | |
24058
85622273d1e8
(sql-mode-ansi-font-lock-keywords): Quote font-lock
Karl Heuer <kwzh@gnu.org>
parents:
24050
diff
changeset
|
1149 (list (cons postgres-reserved-words 'font-lock-keyword-face) |
85622273d1e8
(sql-mode-ansi-font-lock-keywords): Quote font-lock
Karl Heuer <kwzh@gnu.org>
parents:
24050
diff
changeset
|
1150 ;; XEmacs doesn't have 'font-lock-builtin-face |
24050 | 1151 (if (string-match "XEmacs\\|Lucid" emacs-version) |
24058
85622273d1e8
(sql-mode-ansi-font-lock-keywords): Quote font-lock
Karl Heuer <kwzh@gnu.org>
parents:
24050
diff
changeset
|
1152 (cons postgres-builtin-functions 'font-lock-preprocessor-face) |
24050 | 1153 ;; Emacs |
24058
85622273d1e8
(sql-mode-ansi-font-lock-keywords): Quote font-lock
Karl Heuer <kwzh@gnu.org>
parents:
24050
diff
changeset
|
1154 (cons postgres-builtin-functions 'font-lock-builtin-face)) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1155 (cons postgres-types 'font-lock-type-face)))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1156 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1157 "Postgres SQL keywords used by font-lock. |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1158 |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1159 This variable is used by `sql-mode' and `sql-interactive-mode'. The |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1160 regular expressions are created during compilation by calling the |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1161 function `regexp-opt'. Therefore, take a look at the source before |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1162 you define your own sql-mode-postgres-font-lock-keywords.") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1163 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1164 (defvar sql-mode-linter-font-lock-keywords |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1165 (let ((linter-keywords (eval-when-compile |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1166 (concat "\\b" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1167 (regexp-opt '( |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1168 |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1169 "autocommit" "autoinc" "autorowid" "cancel" "cascade" "channel" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1170 "committed" "count" "countblob" "cross" "current" "data" "database" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1171 "datafile" "datafiles" "datesplit" "dba" "dbname" "default" "deferred" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1172 "denied" "description" "device" "difference" "directory" "error" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1173 "escape" "euc" "exclusive" "external" "extfile" "false" "file" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1174 "filename" "filesize" "filetime" "filter" "findblob" "first" "foreign" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1175 "full" "fuzzy" "global" "granted" "ignore" "immediate" "increment" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1176 "indexes" "indexfile" "indexfiles" "indextime" "initial" "integrity" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1177 "internal" "key" "last_autoinc" "last_rowid" "limit" "linter" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1178 "linter_file_device" "linter_file_size" "linter_name_length" "ln" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1179 "local" "login" "maxisn" "maxrow" "maxrowid" "maxvalue" "message" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1180 "minvalue" "module" "names" "national" "natural" "new" "new_table" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1181 "no" "node" "noneuc" "nulliferror" "numbers" "off" "old" "old_table" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1182 "only" "operation" "optimistic" "option" "page" "partially" "password" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1183 "phrase" "plan" "precision" "primary" "priority" "privileges" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1184 "proc_info_size" "proc_par_name_len" "protocol" "quant" "range" "raw" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1185 "read" "record" "records" "references" "remote" "rename" "replication" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1186 "restart" "rewrite" "root" "row" "rule" "savepoint" "security" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1187 "sensitive" "sequence" "serializable" "server" "since" "size" "some" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1188 "startup" "statement" "station" "success" "sys_guid" "tables" "test" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1189 "timeout" "trace" "transaction" "translation" "trigger" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1190 "trigger_info_size" "true" "trunc" "uncommitted" "unicode" "unknown" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1191 "unlimited" "unlisted" "user" "utf8" "value" "varying" "volumes" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1192 "wait" "windows_code" "workspace" "write" "xml" |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1193 |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1194 ) t) "\\b"))) |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1195 (linter-reserved-words (eval-when-compile |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1196 (concat "\\b" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1197 (regexp-opt '( |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1198 |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1199 "access" "action" "add" "address" "after" "all" "alter" "always" "and" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1200 "any" "append" "as" "asc" "ascic" "async" "at_begin" "at_end" "audit" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1201 "aud_obj_name_len" "backup" "base" "before" "between" "blobfile" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1202 "blobfiles" "blobpct" "brief" "browse" "by" "case" "cast" "check" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1203 "clear" "close" "column" "comment" "commit" "connect" "contains" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1204 "correct" "create" "delete" "desc" "disable" "disconnect" "distinct" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1205 "drop" "each" "ef" "else" "enable" "end" "event" "except" "exclude" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1206 "execute" "exists" "extract" "fetch" "finish" "for" "from" "get" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1207 "grant" "group" "having" "identified" "in" "index" "inner" "insert" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1208 "instead" "intersect" "into" "is" "isolation" "join" "left" "level" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1209 "like" "lock" "mode" "modify" "not" "nowait" "null" "of" "on" "open" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1210 "or" "order" "outer" "owner" "press" "prior" "procedure" "public" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1211 "purge" "rebuild" "resource" "restrict" "revoke" "right" "role" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1212 "rollback" "rownum" "select" "session" "set" "share" "shutdown" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1213 "start" "stop" "sync" "synchronize" "synonym" "sysdate" "table" "then" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1214 "to" "union" "unique" "unlock" "until" "update" "using" "values" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1215 "view" "when" "where" "with" "without" |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1216 |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1217 ) t) "\\b"))) |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1218 (linter-types (eval-when-compile |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1219 (concat "\\b" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1220 (regexp-opt '( |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1221 |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1222 "bigint" "bitmap" "blob" "boolean" "char" "character" "date" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1223 "datetime" "dec" "decimal" "double" "float" "int" "integer" "nchar" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1224 "number" "numeric" "real" "smallint" "varbyte" "varchar" "byte" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1225 "cursor" "long" |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1226 |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1227 ) t) "\\b"))) |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1228 (linter-builtin-functions (eval-when-compile |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1229 (concat "\\b" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1230 (regexp-opt '( |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1231 |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1232 "abs" "acos" "asin" "atan" "atan2" "avg" "ceil" "cos" "cosh" "divtime" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1233 "exp" "floor" "getbits" "getblob" "getbyte" "getlong" "getraw" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1234 "getstr" "gettext" "getword" "hextoraw" "lenblob" "length" "log" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1235 "lower" "lpad" "ltrim" "max" "min" "mod" "monthname" "nvl" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1236 "octet_length" "power" "rand" "rawtohex" "repeat_string" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1237 "right_substr" "round" "rpad" "rtrim" "sign" "sin" "sinh" "soundex" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1238 "sqrt" "sum" "tan" "tanh" "timeint_to_days" "to_char" "to_date" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1239 "to_gmtime" "to_localtime" "to_number" "trim" "upper" "decode" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1240 "substr" "substring" "chr" "dayname" "days" "greatest" "hex" "initcap" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1241 "instr" "least" "multime" "replace" "width" |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1242 |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1243 ) t) "\\b")))) |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1244 (append sql-mode-ansi-font-lock-keywords |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1245 (list (cons linter-keywords 'font-lock-keywords-face) |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1246 (cons linter-reserved-words 'font-lock-keyword-face) |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1247 ;; XEmacs doesn't have font-lock-builtin-face |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1248 (if (string-match "XEmacs\\|Lucid" emacs-version) |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1249 (cons linter-builtin-functions 'font-lock-preprocessor-face) |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1250 ;; GNU Emacs 19 doesn't have it either |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1251 (if (string-match "GNU Emacs 19" emacs-version) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1252 (cons linter-builtin-functions 'font-lock-keywords-face) |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1253 ;; Emacs |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1254 (cons linter-builtin-functions 'font-lock-builtin-face))) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1255 (cons linter-types 'font-lock-type-face)))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1256 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1257 "Linter SQL keywords used by font-lock. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1258 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1259 This variable is used by `sql-mode' and `sql-interactive-mode'. The |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1260 regular expressions are created during compilation by calling the |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1261 function `regexp-opt'.") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1262 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1263 (defvar sql-mode-ms-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1264 (let ((ms-reserved-words (eval-when-compile |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1265 (concat "\\b" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1266 (regexp-opt '( |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1267 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1268 "absolute" "add" "all" "alter" "and" "any" "as" "asc" "authorization" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1269 "avg" "backup" "begin" "between" "break" "browse" "bulk" "by" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1270 "cascade" "case" "check" "checkpoint" "close" "clustered" "coalesce" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1271 "column" "commit" "committed" "compute" "confirm" "constraint" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1272 "contains" "containstable" "continue" "controlrow" "convert" "count" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1273 "create" "cross" "current" "current_date" "current_time" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1274 "current_timestamp" "current_user" "database" "deallocate" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1275 "declare" "default" "delete" "deny" "desc" "disk" "distinct" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1276 "distributed" "double" "drop" "dummy" "dump" "else" "end" "errlvl" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1277 "errorexit" "escape" "except" "exec" "execute" "exists" "exit" "fetch" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1278 "file" "fillfactor" "first" "floppy" "for" "foreign" "freetext" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1279 "freetexttable" "from" "full" "goto" "grant" "group" "having" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1280 "holdlock" "identity" "identity_insert" "identitycol" "if" "in" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1281 "index" "inner" "insert" "intersect" "into" "is" "isolation" "join" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1282 "key" "kill" "last" "left" "level" "like" "lineno" "load" "max" "min" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1283 "mirrorexit" "national" "next" "nocheck" "nolock" "nonclustered" "not" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1284 "null" "nullif" "of" "off" "offsets" "on" "once" "only" "open" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1285 "opendatasource" "openquery" "openrowset" "option" "or" "order" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1286 "outer" "output" "over" "paglock" "percent" "perm" "permanent" "pipe" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1287 "plan" "precision" "prepare" "primary" "print" "prior" "privileges" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1288 "proc" "procedure" "processexit" "public" "raiserror" "read" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1289 "readcommitted" "readpast" "readtext" "readuncommitted" "reconfigure" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1290 "references" "relative" "repeatable" "repeatableread" "replication" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1291 "restore" "restrict" "return" "revoke" "right" "rollback" "rowcount" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1292 "rowguidcol" "rowlock" "rule" "save" "schema" "select" "serializable" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1293 "session_user" "set" "shutdown" "some" "statistics" "sum" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1294 "system_user" "table" "tablock" "tablockx" "tape" "temp" "temporary" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1295 "textsize" "then" "to" "top" "tran" "transaction" "trigger" "truncate" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1296 "tsequal" "uncommitted" "union" "unique" "update" "updatetext" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1297 "updlock" "use" "user" "values" "view" "waitfor" "when" "where" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1298 "while" "with" "work" "writetext" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1299 "collate" "function" "openxml" "returns" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1300 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1301 ) t) "\\b"))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1302 (ms-types (eval-when-compile |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1303 (concat "\\b" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1304 (regexp-opt '( |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1305 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1306 "binary" "bit" "char" "character" "cursor" "datetime" "dec" "decimal" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1307 "double" "float" "image" "int" "integer" "money" "national" "nchar" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1308 "ntext" "numeric" "numeric" "nvarchar" "precision" "real" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1309 "smalldatetime" "smallint" "smallmoney" "text" "timestamp" "tinyint" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1310 "uniqueidentifier" "varbinary" "varchar" "varying" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1311 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1312 ) t) "\\b"))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1313 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1314 (ms-vars "\\b@[a-zA-Z0-9_]*\\b") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1315 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1316 (ms-builtin-functions (eval-when-compile |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1317 (concat "\\b" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1318 (regexp-opt '( |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1319 ;; Misc MS builtin functions |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1320 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1321 "@@connections" "@@cpu_busy" "@@cursor_rows" "@@datefirst" "@@dbts" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1322 "@@error" "@@fetch_status" "@@identity" "@@idle" "@@io_busy" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1323 "@@langid" "@@language" "@@lock_timeout" "@@max_connections" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1324 "@@max_precision" "@@nestlevel" "@@options" "@@pack_received" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1325 "@@pack_sent" "@@packet_errors" "@@procid" "@@remserver" "@@rowcount" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1326 "@@servername" "@@servicename" "@@spid" "@@textsize" "@@timeticks" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1327 "@@total_errors" "@@total_read" "@@total_write" "@@trancount" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1328 "@@version" "abs" "acos" "and" "app_name" "ascii" "asin" "atan" "atn2" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1329 "avg" "case" "cast" "ceiling" "char" "charindex" "coalesce" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1330 "col_length" "col_name" "columnproperty" "containstable" "convert" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1331 "cos" "cot" "count" "current_timestamp" "current_user" "cursor_status" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1332 "databaseproperty" "datalength" "dateadd" "datediff" "datename" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1333 "datepart" "day" "db_id" "db_name" "degrees" "difference" "exp" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1334 "file_id" "file_name" "filegroup_id" "filegroup_name" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1335 "filegroupproperty" "fileproperty" "floor" "formatmessage" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1336 "freetexttable" "fulltextcatalogproperty" "fulltextserviceproperty" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1337 "getansinull" "getdate" "grouping" "host_id" "host_name" "ident_incr" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1338 "ident_seed" "identity" "index_col" "indexproperty" "is_member" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1339 "is_srvrolemember" "isdate" "isnull" "isnumeric" "left" "len" "log" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1340 "log10" "lower" "ltrim" "max" "min" "month" "nchar" "newid" "nullif" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1341 "object_id" "object_name" "objectproperty" "openquery" "openrowset" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1342 "parsename" "patindex" "patindex" "permissions" "pi" "power" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1343 "quotename" "radians" "rand" "replace" "replicate" "reverse" "right" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1344 "round" "rtrim" "session_user" "sign" "sin" "soundex" "space" "sqrt" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1345 "square" "stats_date" "stdev" "stdevp" "str" "stuff" "substring" "sum" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1346 "suser_id" "suser_name" "suser_sid" "suser_sname" "system_user" "tan" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1347 "textptr" "textvalid" "typeproperty" "unicode" "upper" "user" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1348 "user_id" "user_name" "var" "varp" "year" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1349 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1350 ) t) "\\b"))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1351 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1352 (ms-config-commands |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1353 (eval-when-compile |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1354 (concat "^\\(\\(set\\s-+\\(" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1355 (regexp-opt '( |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1356 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1357 "datefirst" "dateformat" "deadlock_priority" "lock_timeout" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1358 "concat_null_yields_null" "cursor_close_on_commit" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1359 "disable_def_cnst_chk" "fips_flagger" "identity_insert" "language" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1360 "offsets" "quoted_identifier" "arithabort" "arithignore" "fmtonly" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1361 "nocount" "noexec" "numeric_roundabort" "parseonly" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1362 "query_governor_cost_limit" "rowcount" "textsize" "ansi_defaults" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1363 "ansi_null_dflt_off" "ansi_null_dflt_on" "ansi_nulls" "ansi_padding" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1364 "ansi_warnings" "forceplan" "showplan_all" "showplan_text" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1365 "statistics" "implicit_transactions" "remote_proc_transactions" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1366 "transaction" "xact_abort" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1367 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1368 ) t) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1369 "\\)\\)\\|go\\s-*\\|use\\s-+\\|setuser\\s-+\\|dbcc\\s-+\\).*$")))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1370 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1371 (list (cons ms-config-commands 'font-lock-doc-face) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1372 (cons ms-reserved-words 'font-lock-keyword-face) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1373 ;; XEmacs doesn't have 'font-lock-builtin-face |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1374 (if (string-match "XEmacs\\|Lucid" emacs-version) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1375 (cons ms-builtin-functions 'font-lock-preprocessor-face) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1376 ;; Emacs |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1377 (cons ms-builtin-functions 'font-lock-builtin-face)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1378 (cons ms-vars 'font-lock-variable-name-face) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1379 (cons ms-types 'font-lock-type-face))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1380 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1381 "Microsoft SQLServer SQL keywords used by font-lock. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1382 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1383 This variable is used by `sql-mode' and `sql-interactive-mode'. The |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1384 regular expressions are created during compilation by calling the |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1385 function `regexp-opt'. Therefore, take a look at the source before |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1386 you define your own sql-mode-ms-font-lock-keywords.") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1387 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1388 (defvar sql-mode-sybase-font-lock-keywords sql-mode-ansi-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1389 "Sybase SQL keywords used by font-lock. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1390 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1391 This variable is used by `sql-mode' and `sql-interactive-mode'. The |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1392 regular expressions are created during compilation by calling the |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1393 function `regexp-opt'. Therefore, take a look at the source before |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1394 you define your own sql-mode-sybase-font-lock-keywords.") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1395 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1396 (defvar sql-mode-informix-font-lock-keywords sql-mode-ansi-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1397 "Informix SQL keywords used by font-lock. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1398 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1399 This variable is used by `sql-mode' and `sql-interactive-mode'. The |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1400 regular expressions are created during compilation by calling the |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1401 function `regexp-opt'. Therefore, take a look at the source before |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1402 you define your own sql-mode-informix-font-lock-keywords.") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1403 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1404 (defvar sql-mode-interbase-font-lock-keywords sql-mode-ansi-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1405 "Interbase SQL keywords used by font-lock. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1406 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1407 This variable is used by `sql-mode' and `sql-interactive-mode'. The |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1408 regular expressions are created during compilation by calling the |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1409 function `regexp-opt'. Therefore, take a look at the source before |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1410 you define your own sql-mode-interbase-font-lock-keywords.") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1411 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1412 (defvar sql-mode-ingres-font-lock-keywords sql-mode-ansi-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1413 "Ingres SQL keywords used by font-lock. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1414 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1415 This variable is used by `sql-mode' and `sql-interactive-mode'. The |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1416 regular expressions are created during compilation by calling the |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1417 function `regexp-opt'. Therefore, take a look at the source before |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1418 you define your own sql-mode-interbase-font-lock-keywords.") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1419 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1420 (defvar sql-mode-solid-font-lock-keywords sql-mode-ansi-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1421 "Solid SQL keywords used by font-lock. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1422 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1423 This variable is used by `sql-mode' and `sql-interactive-mode'. The |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1424 regular expressions are created during compilation by calling the |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1425 function `regexp-opt'. Therefore, take a look at the source before |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1426 you define your own sql-mode-solid-font-lock-keywords.") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1427 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1428 (defvar sql-mode-mysql-font-lock-keywords sql-mode-ansi-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1429 "MySQL SQL keywords used by font-lock. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1430 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1431 This variable is used by `sql-mode' and `sql-interactive-mode'. The |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1432 regular expressions are created during compilation by calling the |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1433 function `regexp-opt'. Therefore, take a look at the source before |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1434 you define your own sql-mode-mysql-font-lock-keywords.") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1435 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1436 (defvar sql-mode-sqlite-font-lock-keywords sql-mode-ansi-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1437 "SQLite SQL keywords used by font-lock. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1438 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1439 This variable is used by `sql-mode' and `sql-interactive-mode'. The |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1440 regular expressions are created during compilation by calling the |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1441 function `regexp-opt'. Therefore, take a look at the source before |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1442 you define your own sql-mode-sqlite-font-lock-keywords.") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1443 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1444 (defvar sql-mode-db2-font-lock-keywords sql-mode-ansi-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1445 "DB2 SQL keywords used by font-lock. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1446 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1447 This variable is used by `sql-mode' and `sql-interactive-mode'. The |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1448 regular expressions are created during compilation by calling the |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1449 function `regexp-opt'. Therefore, take a look at the source before |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1450 you define your own sql-mode-db2-font-lock-keywords.") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1451 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1452 (defvar sql-mode-font-lock-keywords nil |
24050 | 1453 "SQL keywords used by font-lock. |
1454 | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1455 Setting this variable directly no longer has any affect. Use |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1456 `sql-product' and `sql-add-product-keywords' to control the |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1457 highlighting rules in sql-mode.") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1458 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1459 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1460 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1461 ;;; SQL Product support functions |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1462 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1463 (defun sql-product-feature (feature &optional product) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1464 "Lookup `feature' needed to support the current SQL product. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1465 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1466 See \[sql-product-support] for a list of products and supported features." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1467 (cadr |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1468 (memq feature |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1469 (assoc (or product sql-product) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1470 sql-product-support)))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1471 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1472 (defun sql-product-font-lock (keywords-only imenu) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1473 "Sets `font-lock-defaults' and `font-lock-keywords' based on |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1474 the product-specific keywords and syntax-alists defined in |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1475 `sql-product-support'." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1476 (let |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1477 ;; Get the product-specific syntax-alist. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1478 ((syntax-alist |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1479 (append |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1480 (sql-product-feature :syntax-alist) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1481 '((?_ . "w") (?. . "w"))))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1482 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1483 ;; Get the product-specific keywords. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1484 (setq sql-mode-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1485 (append |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1486 (eval (sql-product-feature :font-lock)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1487 (list sql-mode-font-lock-object-name))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1488 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1489 ;; Setup font-lock. (What is the minimum we should have to do |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1490 ;; here?) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1491 (setq font-lock-set-defaults nil |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1492 font-lock-keywords sql-mode-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1493 font-lock-defaults (list 'sql-mode-font-lock-keywords |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1494 keywords-only t syntax-alist)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1495 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1496 ;; Setup imenu; it needs the same syntax-alist. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1497 (when imenu |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1498 (setq imenu-syntax-alist syntax-alist)))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1499 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1500 ;;;###autoload |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1501 (defun sql-add-product-keywords (product keywords) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1502 "Append a `font-lock-keywords' entry to the existing entries defined |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1503 for the specified `product'." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1504 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1505 (let ((font-lock (sql-product-feature :font-lock product))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1506 (set font-lock (append (eval font-lock) (list keywords))))) |
24050 | 1507 |
1508 | |
30905
2069c10bf952
(sql-magic-go): Use comint-bol.
Gerd Moellmann <gerd@gnu.org>
parents:
30838
diff
changeset
|
1509 |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1510 ;;; Functions to switch highlighting |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1511 |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1512 (defun sql-highlight-product () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1513 "Turns on the appropriate font highlighting for the SQL product |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1514 selected." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1515 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1516 (when (eq major-mode 'sql-mode) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1517 ;; Setup font-lock |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1518 (sql-product-font-lock nil t) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1519 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1520 ;; Force fontification, if its enabled. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1521 (if font-lock-mode |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1522 (font-lock-fontify-buffer)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1523 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1524 ;; Set the mode name to include the product. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1525 (setq mode-name (concat "SQL[" (prin1-to-string sql-product) "]")))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1526 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1527 (defun sql-set-product (product) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1528 "Set `sql-product' to product and enable appropriate |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1529 highlighting." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1530 (interactive "SEnter SQL product: ") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1531 (when (not (assoc product sql-product-support)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1532 (error "SQL product %s is not supported; treated as ANSI" product) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1533 (setq product 'ansi)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1534 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1535 ;; Save product setting and fontify. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1536 (setq sql-product product) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1537 (sql-highlight-product)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1538 |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1539 (defun sql-highlight-oracle-keywords () |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1540 "Highlight Oracle keywords." |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1541 (interactive) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1542 (sql-set-product 'oracle)) |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1543 |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1544 (defun sql-highlight-postgres-keywords () |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1545 "Highlight Postgres keywords." |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1546 (interactive) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1547 (sql-set-product 'postgres)) |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1548 |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1549 (defun sql-highlight-linter-keywords () |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1550 "Highlight LINTER keywords." |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1551 (interactive) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1552 (sql-set-product 'linter)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1553 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1554 (defun sql-highlight-ms-keywords () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1555 "Highlight Microsoft SQLServer keywords." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1556 (interactive) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1557 (sql-set-product 'ms)) |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1558 |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1559 (defun sql-highlight-ansi-keywords () |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1560 "Highlight ANSI SQL keywords." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1561 (interactive) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1562 (sql-set-product 'ansi)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1563 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1564 (defun sql-highlight-sybase-keywords () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1565 "Highlight Sybase SQL keywords." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1566 (interactive) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1567 (sql-set-product 'sybase)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1568 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1569 (defun sql-highlight-informix-keywords () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1570 "Highlight Informix SQL keywords." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1571 (interactive) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1572 (sql-set-product 'informix)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1573 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1574 (defun sql-highlight-interbase-keywords () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1575 "Highlight Interbase SQL keywords." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1576 (interactive) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1577 (sql-set-product 'interbase)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1578 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1579 (defun sql-highlight-ingres-keywords () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1580 "Highlight Ingres SQL keywords." |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1581 (interactive) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1582 (sql-set-product 'ingres)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1583 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1584 (defun sql-highlight-solid-keywords () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1585 "Highlight Solid SQL keywords." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1586 (interactive) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1587 (sql-set-product 'solid)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1588 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1589 (defun sql-highlight-mysql-keywords () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1590 "Highlight MySQL SQL keywords." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1591 (interactive) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1592 (sql-set-product 'mysql)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1593 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1594 (defun sql-highlight-sqlite-keywords () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1595 "Highlight SQLite SQL keywords." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1596 (interactive) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1597 (sql-set-product 'sqlite)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1598 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1599 (defun sql-highlight-db2-keywords () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1600 "Highlight DB2 SQL keywords." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1601 (interactive) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1602 (sql-set-product 'db2)) |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1603 |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1604 |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1605 |
30838
c9f793802722
Add compatibility definition of comint-line-beginning-position.
Miles Bader <miles@gnu.org>
parents:
30642
diff
changeset
|
1606 ;;; Compatibility functions |
c9f793802722
Add compatibility definition of comint-line-beginning-position.
Miles Bader <miles@gnu.org>
parents:
30642
diff
changeset
|
1607 |
c9f793802722
Add compatibility definition of comint-line-beginning-position.
Miles Bader <miles@gnu.org>
parents:
30642
diff
changeset
|
1608 (if (not (fboundp 'comint-line-beginning-position)) |
c9f793802722
Add compatibility definition of comint-line-beginning-position.
Miles Bader <miles@gnu.org>
parents:
30642
diff
changeset
|
1609 ;; comint-line-beginning-position is defined in Emacs 21 |
c9f793802722
Add compatibility definition of comint-line-beginning-position.
Miles Bader <miles@gnu.org>
parents:
30642
diff
changeset
|
1610 (defun comint-line-beginning-position () |
c9f793802722
Add compatibility definition of comint-line-beginning-position.
Miles Bader <miles@gnu.org>
parents:
30642
diff
changeset
|
1611 "Returns the buffer position of the beginning of the line, after any prompt. |
c9f793802722
Add compatibility definition of comint-line-beginning-position.
Miles Bader <miles@gnu.org>
parents:
30642
diff
changeset
|
1612 The prompt is assumed to be any text at the beginning of the line matching |
c9f793802722
Add compatibility definition of comint-line-beginning-position.
Miles Bader <miles@gnu.org>
parents:
30642
diff
changeset
|
1613 the regular expression `comint-prompt-regexp', a buffer local variable." |
c9f793802722
Add compatibility definition of comint-line-beginning-position.
Miles Bader <miles@gnu.org>
parents:
30642
diff
changeset
|
1614 (save-excursion (comint-bol nil) (point)))) |
c9f793802722
Add compatibility definition of comint-line-beginning-position.
Miles Bader <miles@gnu.org>
parents:
30642
diff
changeset
|
1615 |
c9f793802722
Add compatibility definition of comint-line-beginning-position.
Miles Bader <miles@gnu.org>
parents:
30642
diff
changeset
|
1616 |
24050 | 1617 |
1618 ;;; Small functions | |
1619 | |
29937
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1620 (defun sql-magic-go (arg) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1621 "Insert \"o\" and call `comint-send-input'. |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1622 `sql-electric-stuff' must be the symbol `go'." |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1623 (interactive "P") |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1624 (self-insert-command (prefix-numeric-value arg)) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1625 (if (and (equal sql-electric-stuff 'go) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1626 (save-excursion |
30642
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1627 (comint-bol nil) |
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1628 (looking-at "go\\b"))) |
29937
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1629 (comint-send-input))) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1630 |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1631 (defun sql-magic-semicolon (arg) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1632 "Insert semicolon and call `comint-send-input'. |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1633 `sql-electric-stuff' must be the symbol `semicolon'." |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1634 (interactive "P") |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1635 (self-insert-command (prefix-numeric-value arg)) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1636 (if (equal sql-electric-stuff 'semicolon) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1637 (comint-send-input))) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1638 |
24050 | 1639 (defun sql-accumulate-and-indent () |
1640 "Continue SQL statement on the next line." | |
1641 (interactive) | |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1642 (if (fboundp 'comint-accumulate) |
29937
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1643 (comint-accumulate) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1644 (newline)) |
24050 | 1645 (indent-according-to-mode)) |
1646 | |
1647 ;;;###autoload | |
1648 (defun sql-help () | |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
1649 "Show short help for the SQL modes. |
24050 | 1650 |
1651 Use an entry function to open an interactive SQL buffer. This buffer is | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1652 usually named `*SQL*'. The name of the major mode is SQLi. |
24050 | 1653 |
1654 Use the following commands to start a specific SQL interpreter: | |
1655 | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1656 PostGres: \\[sql-postgres] |
40432
225bd38b0ce7
(sql-mysql): Doc change by RMS.
Gerd Moellmann <gerd@gnu.org>
parents:
38872
diff
changeset
|
1657 MySQL: \\[sql-mysql] |
51607
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
1658 SQLite: \\[sql-sqlite] |
24268 | 1659 |
1660 Other non-free SQL implementations are also supported: | |
1661 | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1662 Solid: \\[sql-solid] |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1663 Oracle: \\[sql-oracle] |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1664 Informix: \\[sql-informix] |
24268 | 1665 Sybase: \\[sql-sybase] |
1666 Ingres: \\[sql-ingres] | |
1667 Microsoft: \\[sql-ms] | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1668 DB2: \\[sql-db2] |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1669 Interbase: \\[sql-interbase] |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1670 Linter: \\[sql-linter] |
24268 | 1671 |
1672 But we urge you to choose a free implementation instead of these. | |
24050 | 1673 |
1674 Once you have the SQLi buffer, you can enter SQL statements in the | |
1675 buffer. The output generated is appended to the buffer and a new prompt | |
1676 is generated. See the In/Out menu in the SQLi buffer for some functions | |
1677 that help you navigate through the buffer, the input history, etc. | |
1678 | |
1679 If you have a really complex SQL statement or if you are writing a | |
1680 procedure, you can do this in a separate buffer. Put the new buffer in | |
1681 `sql-mode' by calling \\[sql-mode]. The name of this buffer can be | |
1682 anything. The name of the major mode is SQL. | |
1683 | |
1684 In this SQL buffer (SQL mode), you can send the region or the entire | |
1685 buffer to the interactive SQL buffer (SQLi mode). The results are | |
1686 appended to the SQLi buffer without disturbing your SQL buffer." | |
1687 (interactive) | |
1688 (describe-function 'sql-help)) | |
1689 | |
1690 (defun sql-read-passwd (prompt &optional default) | |
1691 "Read a password using PROMPT. | |
1692 Optional DEFAULT is password to start with. This function calls | |
1693 `read-passwd' if it is available. If not, function | |
1694 `ange-ftp-read-passwd' is called. This should always be available, | |
1695 even in old versions of Emacs." | |
1696 (if (fboundp 'read-passwd) | |
1697 (read-passwd prompt nil default) | |
1698 (unless (fboundp 'ange-ftp-read-passwd) | |
1699 (autoload 'ange-ftp-read-passwd "ange-ftp")) | |
1700 (ange-ftp-read-passwd prompt default))) | |
1701 | |
1702 (defun sql-get-login (&rest what) | |
1703 "Get username, password and database from the user. | |
1704 | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1705 The variables `sql-user', `sql-password', `sql-server', and |
36571
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
1706 `sql-database' can be customized. They are used as the default values. |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1707 Usernames, servers and databases are stored in `sql-user-history', |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1708 `sql-server-history' and `database-history'. Passwords are not stored |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1709 in a history. |
24050 | 1710 |
1711 Parameter WHAT is a list of the arguments passed to this function. | |
1712 The function asks for the username if WHAT contains symbol `user', for | |
1713 the password if it contains symbol `password', for the server if it | |
1714 contains symbol `server', and for the database if it contains symbol | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1715 `database'. The members of WHAT are processed in the order in which |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1716 they are provided. |
24050 | 1717 |
1718 In order to ask the user for username, password and database, call the | |
1719 function like this: (sql-get-login 'user 'password 'database)." | |
1720 (interactive) | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1721 (while what |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1722 (cond |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1723 ((eq (car what) 'user) ; user |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
1724 (setq sql-user |
24050 | 1725 (read-from-minibuffer "User: " sql-user nil nil |
1726 sql-user-history))) | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1727 ((eq (car what) 'password) ; password |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
1728 (setq sql-password |
24050 | 1729 (sql-read-passwd "Password: " sql-password))) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1730 ((eq (car what) 'server) ; server |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
1731 (setq sql-server |
24050 | 1732 (read-from-minibuffer "Server: " sql-server nil nil |
1733 sql-server-history))) | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1734 ((eq (car what) 'database) ; database |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
1735 (setq sql-database |
24050 | 1736 (read-from-minibuffer "Database: " sql-database nil nil |
1737 sql-database-history)))) | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
1738 (setq what (cdr what)))) |
25381
970b18c6803f
(sql-sybase): use sql-server instead of sql-database.
Alex Schroeder <alex@gnu.org>
parents:
25183
diff
changeset
|
1739 |
26576
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1740 (defun sql-find-sqli-buffer () |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1741 "Return the current default SQLi buffer or nil. |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1742 In order to qualify, the SQLi buffer must be alive, |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1743 be in `sql-interactive-mode' and have a process." |
29937
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1744 (let ((default-buffer (default-value 'sql-buffer))) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1745 (if (and (buffer-live-p default-buffer) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1746 (get-buffer-process default-buffer)) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1747 default-buffer |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1748 (save-excursion |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1749 (let ((buflist (buffer-list)) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1750 (found)) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1751 (while (not (or (null buflist) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1752 found)) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1753 (let ((candidate (car buflist))) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1754 (set-buffer candidate) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1755 (if (and (equal major-mode 'sql-interactive-mode) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1756 (get-buffer-process candidate)) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1757 (setq found candidate)) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1758 (setq buflist (cdr buflist)))) |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1759 found))))) |
26576
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1760 |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1761 (defun sql-set-sqli-buffer-generally () |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1762 "Set SQLi buffer for all SQL buffers that have none. |
26576
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1763 This function checks all SQL buffers for their SQLi buffer. If their |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1764 SQLi buffer is nonexistent or has no process, it is set to the current |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1765 default SQLi buffer. The current default SQLi buffer is determined |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1766 using `sql-find-sqli-buffer'. If `sql-buffer' is set, |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1767 `sql-set-sqli-hook' is run." |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1768 (interactive) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1769 (save-excursion |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1770 (let ((buflist (buffer-list)) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1771 (default-sqli-buffer (sql-find-sqli-buffer))) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1772 (setq-default sql-buffer default-sqli-buffer) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1773 (while (not (null buflist)) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1774 (let ((candidate (car buflist))) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1775 (set-buffer candidate) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1776 (if (and (equal major-mode 'sql-mode) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1777 (not (buffer-live-p sql-buffer))) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1778 (progn |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1779 (setq sql-buffer default-sqli-buffer) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1780 (run-hooks 'sql-set-sqli-hook)))) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1781 (setq buflist (cdr buflist)))))) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1782 |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1783 (defun sql-set-sqli-buffer () |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1784 "Set the SQLi buffer SQL strings are sent to. |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1785 |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1786 Call this function in a SQL buffer in order to set the SQLi buffer SQL |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1787 strings are sent to. Calling this function sets `sql-buffer' and runs |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1788 `sql-set-sqli-hook'. |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1789 |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1790 If you call it from a SQL buffer, this sets the local copy of |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
1791 `sql-buffer'. |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1792 |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1793 If you call it from anywhere else, it sets the global copy of |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1794 `sql-buffer'." |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1795 (interactive) |
26576
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1796 (let ((default-buffer (sql-find-sqli-buffer))) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1797 (if (null default-buffer) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1798 (error "There is no suitable SQLi buffer")) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1799 (let ((new-buffer |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1800 (get-buffer |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1801 (read-buffer "New SQLi buffer: " default-buffer t)))) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1802 (if (null (get-buffer-process new-buffer)) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1803 (error "Buffer %s has no process" (buffer-name new-buffer))) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1804 (if (null (save-excursion |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1805 (set-buffer new-buffer) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1806 (equal major-mode 'sql-interactive-mode))) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1807 (error "Buffer %s is no SQLi buffer" (buffer-name new-buffer))) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1808 (if new-buffer |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1809 (progn |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1810 (setq sql-buffer new-buffer) |
0894b3c8dfd6
(sql-find-sqli-buffer): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
25826
diff
changeset
|
1811 (run-hooks 'sql-set-sqli-hook)))))) |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1812 |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1813 (defun sql-show-sqli-buffer () |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1814 "Show the name of current SQLi buffer. |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1815 |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1816 This is the buffer SQL strings are sent to. It is stored in the |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1817 variable `sql-buffer'. See `sql-help' on how to create such a buffer." |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1818 (interactive) |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1819 (if (null (buffer-live-p sql-buffer)) |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1820 (message "%s has no SQLi buffer set." (buffer-name (current-buffer))) |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1821 (if (null (get-buffer-process sql-buffer)) |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1822 (message "Buffer %s has no process." (buffer-name sql-buffer)) |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1823 (message "Current SQLi buffer is %s." (buffer-name sql-buffer))))) |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1824 |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1825 (defun sql-make-alternate-buffer-name () |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1826 "Return a string that can be used to rename a SQLi buffer. |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1827 |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1828 This is used to set `sql-alternate-buffer-name' within |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1829 `sql-interactive-mode'." |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1830 (concat (if (string= "" sql-user) |
29937
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1831 (if (string= "" (user-login-name)) |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1832 () |
29937
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1833 (concat (user-login-name) "/")) |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1834 (concat sql-user "/")) |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1835 (if (string= "" sql-database) |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1836 (if (string= "" sql-server) |
29937
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
1837 (system-name) |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1838 sql-server) |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1839 sql-database))) |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1840 |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1841 (defun sql-rename-buffer () |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1842 "Renames a SQLi buffer." |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1843 (interactive) |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1844 (rename-buffer (format "*SQL: %s*" sql-alternate-buffer-name) t)) |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1845 |
24050 | 1846 (defun sql-copy-column () |
1847 "Copy current column to the end of buffer. | |
1848 Inserts SELECT or commas if appropriate." | |
1849 (interactive) | |
1850 (let ((column)) | |
1851 (save-excursion | |
1852 (setq column (buffer-substring | |
1853 (progn (forward-char 1) (backward-sexp 1) (point)) | |
1854 (progn (forward-sexp 1) (point)))) | |
1855 (goto-char (point-max)) | |
30642
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1856 (let ((bol (comint-line-beginning-position))) |
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1857 (cond |
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1858 ;; if empty command line, insert SELECT |
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1859 ((= bol (point)) |
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1860 (insert "SELECT ")) |
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1861 ;; else if appending to INTO .* (, SELECT or ORDER BY, insert a comma |
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1862 ((save-excursion |
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1863 (re-search-backward "\\b\\(\\(into\\s-+\\S-+\\s-+(\\)\\|select\\|order by\\) .+" |
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1864 bol t)) |
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1865 (insert ", ")) |
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1866 ;; else insert a space |
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1867 (t |
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1868 (if (eq (preceding-char) ? ) |
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1869 nil |
ae938744b6b1
(sql-magic-go): Use comint-bol instead of explicitly matching
Miles Bader <miles@gnu.org>
parents:
30513
diff
changeset
|
1870 (insert " "))))) |
24050 | 1871 ;; in any case, insert the column |
1872 (insert column) | |
1873 (message "%s" column)))) | |
1874 | |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1875 ;; On NT, SQL*Plus for Oracle turns on full buffering for stdout if it |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1876 ;; is not attached to a character device; therefore placeholder |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1877 ;; replacement by SQL*Plus is fully buffered. The workaround lets |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1878 ;; Emacs query for the placeholders. |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1879 |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1880 (defvar sql-placeholder-history nil |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1881 "History of placeholder values used.") |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1882 |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1883 (defun sql-query-placeholders-and-send (proc string) |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1884 "Send to PROC input STRING, maybe replacing placeholders. |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1885 Placeholders are words starting with and ampersand like &this. |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1886 This function is used for `comint-input-sender' if using `sql-oracle' on NT." |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1887 (while (string-match "&\\(\\sw+\\)" string) |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
1888 (setq string (replace-match |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1889 (read-from-minibuffer |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1890 (format "Enter value for %s: " (match-string 1 string)) |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1891 nil nil nil sql-placeholder-history) |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1892 t t string))) |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1893 (comint-send-string proc string) |
42694
4664fcfde396
(sql-query-placeholders-and-send): Handle
Richard M. Stallman <rms@gnu.org>
parents:
42440
diff
changeset
|
1894 (if comint-input-sender-no-newline |
42799
2f56e7fc793a
(sql-escape-newlines-and-send)
Richard M. Stallman <rms@gnu.org>
parents:
42694
diff
changeset
|
1895 (if (not (string-equal string "")) |
42694
4664fcfde396
(sql-query-placeholders-and-send): Handle
Richard M. Stallman <rms@gnu.org>
parents:
42440
diff
changeset
|
1896 (process-send-eof)) |
4664fcfde396
(sql-query-placeholders-and-send): Handle
Richard M. Stallman <rms@gnu.org>
parents:
42440
diff
changeset
|
1897 (comint-send-string proc "\n"))) |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
1898 |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1899 ;; Using DB2 interactively, newlines must be escaped with " \". |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1900 ;; The space before the backslash is relevant. |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1901 (defun sql-escape-newlines-and-send (proc string) |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1902 "Send to PROC input STRING, escaping newlines if necessary. |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1903 Every newline in STRING will be preceded with a space and a backslash." |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1904 (let ((result "") (start 0) mb me) |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1905 (while (string-match "\n" string start) |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1906 (setq mb (match-beginning 0) |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1907 me (match-end 0)) |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1908 (if (and (> mb 1) |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1909 (string-equal " \\" (substring string (- mb 2) mb))) |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1910 (setq result (concat result (substring string start me))) |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1911 (setq result (concat result (substring string start mb) " \\\n"))) |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1912 (setq start me)) |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1913 (setq result (concat result (substring string start))) |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1914 (comint-send-string proc result) |
42694
4664fcfde396
(sql-query-placeholders-and-send): Handle
Richard M. Stallman <rms@gnu.org>
parents:
42440
diff
changeset
|
1915 (if comint-input-sender-no-newline |
42799
2f56e7fc793a
(sql-escape-newlines-and-send)
Richard M. Stallman <rms@gnu.org>
parents:
42694
diff
changeset
|
1916 (if (not (string-equal string "")) |
42694
4664fcfde396
(sql-query-placeholders-and-send): Handle
Richard M. Stallman <rms@gnu.org>
parents:
42440
diff
changeset
|
1917 (process-send-eof)) |
4664fcfde396
(sql-query-placeholders-and-send): Handle
Richard M. Stallman <rms@gnu.org>
parents:
42440
diff
changeset
|
1918 (comint-send-string proc "\n")))) |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
1919 |
24050 | 1920 |
1921 | |
1922 ;;; Sending the region to the SQLi buffer. | |
1923 | |
1924 (defun sql-send-region (start end) | |
1925 "Send a region to the SQL process." | |
1926 (interactive "r") | |
1927 (if (buffer-live-p sql-buffer) | |
1928 (save-excursion | |
1929 (comint-send-region sql-buffer start end) | |
1930 (if (string-match "\n$" (buffer-substring start end)) | |
1931 () | |
1932 (comint-send-string sql-buffer "\n")) | |
24267
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
1933 (message "Sent string to buffer %s." (buffer-name sql-buffer)) |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
1934 (if sql-pop-to-buffer-after-send-region |
24050 | 1935 (pop-to-buffer sql-buffer) |
1936 (display-buffer sql-buffer))) | |
1937 (message "No SQL process started."))) | |
1938 | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1939 (defun sql-send-paragraph () |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1940 "Send the current paragraph to the SQL process." |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1941 (interactive) |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1942 (let ((start (save-excursion |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1943 (backward-paragraph) |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1944 (point))) |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1945 (end (save-excursion |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1946 (forward-paragraph) |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1947 (point)))) |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1948 (sql-send-region start end))) |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1949 |
24050 | 1950 (defun sql-send-buffer () |
1951 "Send the buffer contents to the SQL process." | |
1952 (interactive) | |
1953 (sql-send-region (point-min) (point-max))) | |
1954 | |
1955 (defun sql-toggle-pop-to-buffer-after-send-region (&optional value) | |
1956 "Toggle `sql-pop-to-buffer-after-send-region'. | |
1957 | |
1958 If given the optional parameter VALUE, sets | |
1959 sql-toggle-pop-to-buffer-after-send-region to VALUE." | |
1960 (interactive "P") | |
1961 (if value | |
1962 (setq sql-pop-to-buffer-after-send-region value) | |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
1963 (setq sql-pop-to-buffer-after-send-region |
24050 | 1964 (null sql-pop-to-buffer-after-send-region )))) |
1965 | |
1966 | |
1967 | |
1968 ;;; SQL mode -- uses SQL interactive mode | |
1969 | |
1970 ;;;###autoload | |
1971 (defun sql-mode () | |
1972 "Major mode to edit SQL. | |
1973 | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1974 You can send SQL statements to the SQLi buffer using |
24050 | 1975 \\[sql-send-region]. Such a buffer must exist before you can do this. |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1976 See `sql-help' on how to create SQLi buffers. |
24050 | 1977 |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
1978 \\{sql-mode-map} |
24050 | 1979 Customization: Entry to this mode runs the `sql-mode-hook'. |
1980 | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1981 When you put a buffer in SQL mode, the buffer stores the last SQLi |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1982 buffer created as its destination in the variable `sql-buffer'. This |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1983 will be the buffer \\[sql-send-region] sends the region to. If this |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1984 SQLi buffer is killed, \\[sql-send-region] is no longer able to |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1985 determine where the strings should be sent to. You can set the |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
1986 value of `sql-buffer' using \\[sql-set-sqli-buffer]. |
24050 | 1987 |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
1988 For information on how to create multiple SQLi buffers, see |
40971
fa679d186a7d
(sql-mode): Doc change.
Richard M. Stallman <rms@gnu.org>
parents:
40432
diff
changeset
|
1989 `sql-interactive-mode'. |
fa679d186a7d
(sql-mode): Doc change.
Richard M. Stallman <rms@gnu.org>
parents:
40432
diff
changeset
|
1990 |
fa679d186a7d
(sql-mode): Doc change.
Richard M. Stallman <rms@gnu.org>
parents:
40432
diff
changeset
|
1991 Note that SQL doesn't have an escape character unless you specify |
fa679d186a7d
(sql-mode): Doc change.
Richard M. Stallman <rms@gnu.org>
parents:
40432
diff
changeset
|
1992 one. If you specify backslash as escape character in SQL, |
fa679d186a7d
(sql-mode): Doc change.
Richard M. Stallman <rms@gnu.org>
parents:
40432
diff
changeset
|
1993 you must tell Emacs. Here's how to do that in your `~/.emacs' file: |
fa679d186a7d
(sql-mode): Doc change.
Richard M. Stallman <rms@gnu.org>
parents:
40432
diff
changeset
|
1994 |
fa679d186a7d
(sql-mode): Doc change.
Richard M. Stallman <rms@gnu.org>
parents:
40432
diff
changeset
|
1995 \(add-hook 'sql-mode-hook |
fa679d186a7d
(sql-mode): Doc change.
Richard M. Stallman <rms@gnu.org>
parents:
40432
diff
changeset
|
1996 (lambda () |
fa679d186a7d
(sql-mode): Doc change.
Richard M. Stallman <rms@gnu.org>
parents:
40432
diff
changeset
|
1997 (modify-syntax-entry ?\\\\ \".\" sql-mode-syntax-table)))" |
24050 | 1998 (interactive) |
1999 (kill-all-local-variables) | |
2000 (setq major-mode 'sql-mode) | |
2001 (setq mode-name "SQL") | |
2002 (use-local-map sql-mode-map) | |
31392
1f97a090ba6d
(sql-postgres): Use sql-postgres-options.
Gerd Moellmann <gerd@gnu.org>
parents:
30905
diff
changeset
|
2003 (if sql-mode-menu |
1f97a090ba6d
(sql-postgres): Use sql-postgres-options.
Gerd Moellmann <gerd@gnu.org>
parents:
30905
diff
changeset
|
2004 (easy-menu-add sql-mode-menu)); XEmacs |
24050 | 2005 (set-syntax-table sql-mode-syntax-table) |
2006 (make-local-variable 'font-lock-defaults) | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2007 (make-local-variable 'sql-mode-font-lock-keywords) |
24267
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2008 (make-local-variable 'comment-start) |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2009 (setq comment-start "--") |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
2010 ;; Make each buffer in sql-mode remember the "current" SQLi buffer. |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2011 (make-local-variable 'sql-buffer) |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
2012 ;; Add imenu support for sql-mode. Note that imenu-generic-expression |
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
2013 ;; is buffer-local, so we don't need a local-variable for it. SQL is |
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
2014 ;; case-insensitive, that's why we have to set imenu-case-fold-search. |
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
2015 (setq imenu-generic-expression sql-imenu-generic-expression |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2016 imenu-case-fold-search t) |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
2017 ;; Make `sql-send-paragraph' work on paragraphs that contain indented |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
2018 ;; lines. |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
2019 (make-local-variable 'paragraph-separate) |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
2020 (make-local-variable 'paragraph-start) |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
2021 (setq paragraph-separate "[\f]*$" |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
2022 paragraph-start "[\n\f]") |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
2023 ;; Abbrevs |
24050 | 2024 (setq local-abbrev-table sql-mode-abbrev-table) |
2025 (setq abbrev-all-caps 1) | |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
2026 ;; Run hook |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2027 (run-hooks 'sql-mode-hook) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2028 ;; Catch changes to sql-product and highlight accordingly |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2029 (sql-highlight-product) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2030 (add-hook 'hack-local-variables-hook 'sql-highlight-product t t)) |
24050 | 2031 |
2032 | |
2033 | |
2034 ;;; SQL interactive mode | |
2035 | |
2036 (put 'sql-interactive-mode 'mode-class 'special) | |
2037 | |
2038 (defun sql-interactive-mode () | |
2039 "Major mode to use a SQL interpreter interactively. | |
2040 | |
2041 Do not call this function by yourself. The environment must be | |
2042 initialized by an entry function specific for the SQL interpreter. See | |
2043 `sql-help' for a list of available entry functions. | |
2044 | |
2045 \\[comint-send-input] after the end of the process' output sends the | |
2046 text from the end of process to the end of the current line. | |
2047 \\[comint-send-input] before end of process output copies the current | |
2048 line minus the prompt to the end of the buffer and sends it. | |
2049 \\[comint-copy-old-input] just copies the current line. | |
2050 Use \\[sql-accumulate-and-indent] to enter multi-line statements. | |
2051 | |
2052 If you want to make multiple SQL buffers, rename the `*SQL*' buffer | |
2053 using \\[rename-buffer] or \\[rename-uniquely] and start a new process. | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2054 See `sql-help' for a list of available entry functions. The last buffer |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2055 created by such an entry function is the current SQLi buffer. SQL |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2056 buffers will send strings to the SQLi buffer current at the time of |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2057 their creation. See `sql-mode' for details. |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2058 |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2059 Sample session using two connections: |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2060 |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2061 1. Create first SQLi buffer by calling an entry function. |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2062 2. Rename buffer \"*SQL*\" to \"*Connection 1*\". |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2063 3. Create a SQL buffer \"test1.sql\". |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2064 4. Create second SQLi buffer by calling an entry function. |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2065 5. Rename buffer \"*SQL*\" to \"*Connection 2*\". |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2066 6. Create a SQL buffer \"test2.sql\". |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2067 |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2068 Now \\[sql-send-region] in buffer \"test1.sql\" will send the region to |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2069 buffer \"*Connection 1*\", \\[sql-send-region] in buffer \"test2.sql\" |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2070 will send the region to buffer \"*Connection 2*\". |
24050 | 2071 |
2072 If you accidentally suspend your process, use \\[comint-continue-subjob] | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2073 to continue it. On some operating systems, this will not work because |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2074 the signals are not supported. |
24050 | 2075 |
2076 \\{sql-interactive-mode-map} | |
2077 Customization: Entry to this mode runs the hooks on `comint-mode-hook' | |
2078 and `sql-interactive-mode-hook' (in that order). Before each input, the | |
2079 hooks on `comint-input-filter-functions' are run. After each SQL | |
2080 interpreter output, the hooks on `comint-output-filter-functions' are | |
2081 run. | |
2082 | |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
2083 Variable `sql-input-ring-file-name' controls the initialisation of the |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2084 input ring history. |
24050 | 2085 |
2086 Variables `comint-output-filter-functions', a hook, and | |
2087 `comint-scroll-to-bottom-on-input' and | |
2088 `comint-scroll-to-bottom-on-output' control whether input and output | |
2089 cause the window to scroll to the end of the buffer. | |
2090 | |
2091 If you want to make SQL buffers limited in length, add the function | |
2092 `comint-truncate-buffer' to `comint-output-filter-functions'. | |
2093 | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2094 Here is an example for your .emacs file. It keeps the SQLi buffer a |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
2095 certain length. |
24050 | 2096 |
2097 \(add-hook 'sql-interactive-mode-hook | |
2098 \(function (lambda () | |
2099 \(setq comint-output-filter-functions 'comint-truncate-buffer)))) | |
2100 | |
2101 Here is another example. It will always put point back to the statement | |
2102 you entered, right above the output it created. | |
2103 | |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
2104 \(setq comint-output-filter-functions |
24050 | 2105 \(function (lambda (STR) (comint-show-output))))" |
2106 (comint-mode) | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2107 ;; Get the `sql-product' for this interactive session. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2108 (set (make-local-variable 'sql-product) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2109 (or sql-interactive-product |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2110 sql-product)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2111 ;; Setup the mode. |
24050 | 2112 (setq major-mode 'sql-interactive-mode) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2113 (setq mode-name (concat "SQLi[" (prin1-to-string sql-product) "]")) |
24050 | 2114 (use-local-map sql-interactive-mode-map) |
31392
1f97a090ba6d
(sql-postgres): Use sql-postgres-options.
Gerd Moellmann <gerd@gnu.org>
parents:
30905
diff
changeset
|
2115 (if sql-interactive-mode-menu |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2116 (easy-menu-add sql-interactive-mode-menu)) ; XEmacs |
24050 | 2117 (set-syntax-table sql-mode-syntax-table) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2118 (make-local-variable 'sql-mode-font-lock-keywords) |
24050 | 2119 (make-local-variable 'font-lock-defaults) |
24267
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2120 ;; Note that making KEYWORDS-ONLY nil will cause havoc if you try |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
2121 ;; SELECT 'x' FROM DUAL with SQL*Plus, because the title of the column |
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
2122 ;; will have just one quote. Therefore syntactic hilighting is |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2123 ;; disabled for interactive buffers. No imenu support. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2124 (sql-product-font-lock t nil) |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
2125 ;; Enable commenting and uncommenting of the region. |
24267
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2126 (make-local-variable 'comment-start) |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2127 (setq comment-start "--") |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2128 ;; Abbreviation table init and case-insensitive. It is not activated |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
2129 ;; by default. |
24050 | 2130 (setq local-abbrev-table sql-mode-abbrev-table) |
2131 (setq abbrev-all-caps 1) | |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
2132 ;; Exiting the process will call sql-stop. |
24050 | 2133 (set-process-sentinel (get-buffer-process sql-buffer) 'sql-stop) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2134 ;; Create a usefull name for renaming this buffer later. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2135 (make-local-variable 'sql-alternate-buffer-name) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2136 (setq sql-alternate-buffer-name (sql-make-alternate-buffer-name)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2137 ;; User stuff. Initialize before the hook. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2138 (set (make-local-variable 'sql-prompt-regexp) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2139 (sql-product-feature :sqli-prompt-regexp)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2140 (set (make-local-variable 'sql-prompt-length) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2141 (sql-product-feature :sqli-prompt-length)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2142 (make-local-variable 'sql-input-ring-separator) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2143 (make-local-variable 'sql-input-ring-file-name) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2144 ;; Run hook. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2145 (run-hooks 'sql-interactive-mode-hook) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2146 ;; Set comint based on user overrides. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2147 (setq comint-prompt-regexp sql-prompt-regexp) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2148 (setq left-margin sql-prompt-length) |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2149 ;; People wanting a different history file for each |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2150 ;; buffer/process/client/whatever can change separator and file-name |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2151 ;; on the sql-interactive-mode-hook. |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2152 (setq comint-input-ring-separator sql-input-ring-separator |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2153 comint-input-ring-file-name sql-input-ring-file-name) |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
2154 ;; Calling the hook before calling comint-read-input-ring allows users |
24050 | 2155 ;; to set comint-input-ring-file-name in sql-interactive-mode-hook. |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2156 (comint-read-input-ring t)) |
24050 | 2157 |
2158 (defun sql-stop (process event) | |
2159 "Called when the SQL process is stopped. | |
2160 | |
24353
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
2161 Writes the input history to a history file using |
1ae2a12a85ee
(sql-set-sqli-hook): A hook run when sql-buffer is
Richard M. Stallman <rms@gnu.org>
parents:
24310
diff
changeset
|
2162 `comint-write-input-ring' and inserts a short message in the SQL buffer. |
24050 | 2163 |
2164 This function is a sentinel watching the SQL interpreter process. | |
2165 Sentinels will always get the two parameters PROCESS and EVENT." | |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2166 (comint-write-input-ring) |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2167 (if (and (eq (current-buffer) sql-buffer) |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2168 (not buffer-read-only)) |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2169 (insert (format "\nProcess %s %s\n" process event)) |
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2170 (message "Process %s %s" process event))) |
24050 | 2171 |
2172 | |
2173 | |
2174 ;;; Entry functions for different SQL interpreters. | |
2175 | |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2176 ;;;###autoload |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2177 (defun sql-product-interactive (&optional product) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2178 "Run product interpreter as an inferior process. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2179 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2180 If buffer `*SQL*' exists but no process is running, make a new process. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2181 If buffer exists and a process is running, just switch to buffer |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2182 `*SQL*'. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2183 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2184 \(Type \\[describe-mode] in the SQL buffer for a list of commands.)" |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2185 (interactive) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2186 (setq product (or product sql-product)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2187 (when (sql-product-feature :sqli-connect product) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2188 (if (comint-check-proc "*SQL*") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2189 (pop-to-buffer "*SQL*") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2190 ;; Get credentials. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2191 (apply 'sql-get-login (sql-product-feature :sqli-login product)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2192 ;; Connect to database. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2193 (message "Login...") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2194 (funcall (sql-product-feature :sqli-connect product)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2195 ;; Set SQLi mode. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2196 (setq sql-interactive-product product) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2197 (setq sql-buffer (current-buffer)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2198 (sql-interactive-mode) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2199 ;; All done. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2200 (message "Login...done") |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2201 (pop-to-buffer sql-buffer)))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2202 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2203 ;;;###autoload |
24050 | 2204 (defun sql-oracle () |
2205 "Run sqlplus by Oracle as an inferior process. | |
2206 | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2207 If buffer `*SQL*' exists but no process is running, make a new process. |
24050 | 2208 If buffer exists and a process is running, just switch to buffer |
2209 `*SQL*'. | |
2210 | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2211 Interpreter used comes from variable `sql-oracle-program'. Login uses |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2212 the variables `sql-user', `sql-password', and `sql-database' as |
29937
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
2213 defaults, if set. Additional command line parameters can be stored in |
693c2c631d72
(sql-interactive-mode-map): Use `kbd' in calls to
Gerd Moellmann <gerd@gnu.org>
parents:
26576
diff
changeset
|
2214 the list `sql-oracle-options'. |
24050 | 2215 |
2216 The buffer is put in sql-interactive-mode, giving commands for sending | |
2217 input. See `sql-interactive-mode'. | |
2218 | |
2219 To specify a coding system for converting non-ASCII characters | |
2220 in the input and output to the process, use \\[universal-coding-system-argument] | |
2221 before \\[sql-oracle]. You can also specify this with \\[set-buffer-process-coding-system] | |
2222 in the SQL buffer, after you start the process. | |
2223 The default comes from `process-coding-system-alist' and | |
2224 `default-process-coding-system'. | |
2225 | |
2226 \(Type \\[describe-mode] in the SQL buffer for a list of commands.)" | |
2227 (interactive) | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2228 (sql-product-interactive 'oracle)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2229 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2230 (defun sql-connect-oracle () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2231 "Create comint buffer and connect to Oracle using the login |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2232 parameters and command options." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2233 ;; Produce user/password@database construct. Password without user |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2234 ;; is meaningless; database without user/password is meaningless, |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2235 ;; because "@param" will ask sqlplus to interpret the script |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2236 ;; "param". |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2237 (let ((parameter nil)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2238 (if (not (string= "" sql-user)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2239 (if (not (string= "" sql-password)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2240 (setq parameter (concat sql-user "/" sql-password)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2241 (setq parameter sql-user))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2242 (if (and parameter (not (string= "" sql-database))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2243 (setq parameter (concat parameter "@" sql-database))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2244 (if parameter |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2245 (setq parameter (nconc (list parameter) sql-oracle-options)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2246 (setq parameter sql-oracle-options)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2247 (if parameter |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2248 (set-buffer (apply 'make-comint "SQL" sql-oracle-program nil |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2249 parameter)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2250 (set-buffer (make-comint "SQL" sql-oracle-program nil))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2251 ;; SQL*Plus is buffered on WindowsNT; this handles &placeholders. |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2252 (if (eq window-system 'w32) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2253 (setq comint-input-sender 'sql-query-placeholders-and-send)))) |
24050 | 2254 |
2255 | |
2256 | |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2257 ;;;###autoload |
24050 | 2258 (defun sql-sybase () |
2259 "Run isql by SyBase as an inferior process. | |
2260 | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2261 If buffer `*SQL*' exists but no process is running, make a new process. |
24050 | 2262 If buffer exists and a process is running, just switch to buffer |
2263 `*SQL*'. | |
2264 | |
2265 Interpreter used comes from variable `sql-sybase-program'. Login uses | |
32621
50c28d51e0f2
(sql-sybase-options): New option.
Gerd Moellmann <gerd@gnu.org>
parents:
32169
diff
changeset
|
2266 the variables `sql-server', `sql-user', `sql-password', and |
36523
e72a04113eac
(sql-sybase): Fix typo (was: query user about server two
Gerd Moellmann <gerd@gnu.org>
parents:
34704
diff
changeset
|
2267 `sql-database' as defaults, if set. Additional command line parameters |
e72a04113eac
(sql-sybase): Fix typo (was: query user about server two
Gerd Moellmann <gerd@gnu.org>
parents:
34704
diff
changeset
|
2268 can be stored in the list `sql-sybase-options'. |
24050 | 2269 |
2270 The buffer is put in sql-interactive-mode, giving commands for sending | |
2271 input. See `sql-interactive-mode'. | |
2272 | |
2273 To specify a coding system for converting non-ASCII characters | |
2274 in the input and output to the process, use \\[universal-coding-system-argument] | |
2275 before \\[sql-sybase]. You can also specify this with \\[set-buffer-process-coding-system] | |
2276 in the SQL buffer, after you start the process. | |
2277 The default comes from `process-coding-system-alist' and | |
2278 `default-process-coding-system'. | |
2279 | |
2280 \(Type \\[describe-mode] in the SQL buffer for a list of commands.)" | |
2281 (interactive) | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2282 (sql-product-interactive 'sybase)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2283 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2284 (defun sql-connect-sybase () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2285 "Create comint buffer and connect to Sybase using the login |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2286 parameters and command options." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2287 ;; Put all parameters to the program (if defined) in a list and call |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2288 ;; make-comint. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2289 (let ((params sql-sybase-options)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2290 (if (not (string= "" sql-server)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2291 (setq params (append (list "-S" sql-server) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2292 (if (not (string= "" sql-database)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2293 (setq params (append (list "-D" sql-database) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2294 (if (not (string= "" sql-password)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2295 (setq params (append (list "-P" sql-password) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2296 (if (not (string= "" sql-user)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2297 (setq params (append (list "-U" sql-user) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2298 (set-buffer (apply 'make-comint "SQL" sql-sybase-program |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2299 nil params)))) |
24050 | 2300 |
2301 | |
2302 | |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2303 ;;;###autoload |
24050 | 2304 (defun sql-informix () |
2305 "Run dbaccess by Informix as an inferior process. | |
2306 | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2307 If buffer `*SQL*' exists but no process is running, make a new process. |
24050 | 2308 If buffer exists and a process is running, just switch to buffer |
2309 `*SQL*'. | |
2310 | |
2311 Interpreter used comes from variable `sql-informix-program'. Login uses | |
2312 the variable `sql-database' as default, if set. | |
2313 | |
2314 The buffer is put in sql-interactive-mode, giving commands for sending | |
2315 input. See `sql-interactive-mode'. | |
2316 | |
2317 To specify a coding system for converting non-ASCII characters | |
2318 in the input and output to the process, use \\[universal-coding-system-argument] | |
2319 before \\[sql-informix]. You can also specify this with \\[set-buffer-process-coding-system] | |
2320 in the SQL buffer, after you start the process. | |
2321 The default comes from `process-coding-system-alist' and | |
2322 `default-process-coding-system'. | |
2323 | |
2324 \(Type \\[describe-mode] in the SQL buffer for a list of commands.)" | |
2325 (interactive) | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2326 (sql-product-interactive 'informix)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2327 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2328 (defun sql-connect-informix () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2329 "Create comint buffer and connect to Informix using the login |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2330 parameters and command options." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2331 ;; username and password are ignored. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2332 (if (string= "" sql-database) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2333 (set-buffer (make-comint "SQL" sql-informix-program nil)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2334 (set-buffer (make-comint "SQL" sql-informix-program nil sql-database "-")))) |
24267
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2335 |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2336 |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2337 |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2338 ;;;###autoload |
51607
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2339 (defun sql-sqlite () |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2340 "Run sqlite as an inferior process. |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2341 |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2342 SQLite is free software. |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2343 |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2344 If buffer `*SQL*' exists but no process is running, make a new process. |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2345 If buffer exists and a process is running, just switch to buffer |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2346 `*SQL*'. |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2347 |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2348 Interpreter used comes from variable `sql-sqlite-program'. Login uses |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2349 the variables `sql-user', `sql-password', `sql-database', and |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2350 `sql-server' as defaults, if set. Additional command line parameters |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2351 can be stored in the list `sql-sqlite-options'. |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2352 |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2353 The buffer is put in sql-interactive-mode, giving commands for sending |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2354 input. See `sql-interactive-mode'. |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2355 |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2356 To specify a coding system for converting non-ASCII characters |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2357 in the input and output to the process, use \\[universal-coding-system-argument] |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2358 before \\[sql-sqlite]. You can also specify this with \\[set-buffer-process-coding-system] |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2359 in the SQL buffer, after you start the process. |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2360 The default comes from `process-coding-system-alist' and |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2361 `default-process-coding-system'. |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2362 |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2363 \(Type \\[describe-mode] in the SQL buffer for a list of commands.)" |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2364 (interactive) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2365 (sql-product-interactive 'sqlite)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2366 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2367 (defun sql-connect-sqlite () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2368 "Create comint buffer and connect to SQLite using the login |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2369 parameters and command options." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2370 ;; Put all parameters to the program (if defined) in a list and call |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2371 ;; make-comint. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2372 (let ((params)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2373 (if (not (string= "" sql-database)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2374 (setq params (append (list sql-database) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2375 (if (not (string= "" sql-server)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2376 (setq params (append (list (concat "--host=" sql-server)) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2377 (if (not (string= "" sql-password)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2378 (setq params (append (list (concat "--password=" sql-password)) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2379 (if (not (string= "" sql-user)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2380 (setq params (append (list (concat "--user=" sql-user)) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2381 (if (not (null sql-sqlite-options)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2382 (setq params (append sql-sqlite-options params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2383 (set-buffer (apply 'make-comint "SQL" sql-sqlite-program |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2384 nil params)))) |
51607
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2385 |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2386 |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2387 |
ead411a37669
Add support for SQLite interpreter.
Juanma Barranquero <lekktu@gmail.com>
parents:
48486
diff
changeset
|
2388 ;;;###autoload |
24267
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2389 (defun sql-mysql () |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2390 "Run mysql by TcX as an inferior process. |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2391 |
40432
225bd38b0ce7
(sql-mysql): Doc change by RMS.
Gerd Moellmann <gerd@gnu.org>
parents:
38872
diff
changeset
|
2392 Mysql versions 3.23 and up are free software. |
24267
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2393 |
24268 | 2394 If buffer `*SQL*' exists but no process is running, make a new process. |
24267
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2395 If buffer exists and a process is running, just switch to buffer |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2396 `*SQL*'. |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2397 |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2398 Interpreter used comes from variable `sql-mysql-program'. Login uses |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2399 the variables `sql-user', `sql-password', `sql-database', and |
36523
e72a04113eac
(sql-sybase): Fix typo (was: query user about server two
Gerd Moellmann <gerd@gnu.org>
parents:
34704
diff
changeset
|
2400 `sql-server' as defaults, if set. Additional command line parameters |
e72a04113eac
(sql-sybase): Fix typo (was: query user about server two
Gerd Moellmann <gerd@gnu.org>
parents:
34704
diff
changeset
|
2401 can be stored in the list `sql-mysql-options'. |
24267
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2402 |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2403 The buffer is put in sql-interactive-mode, giving commands for sending |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2404 input. See `sql-interactive-mode'. |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2405 |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2406 To specify a coding system for converting non-ASCII characters |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2407 in the input and output to the process, use \\[universal-coding-system-argument] |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2408 before \\[sql-mysql]. You can also specify this with \\[set-buffer-process-coding-system] |
24267
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2409 in the SQL buffer, after you start the process. |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2410 The default comes from `process-coding-system-alist' and |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2411 `default-process-coding-system'. |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2412 |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2413 \(Type \\[describe-mode] in the SQL buffer for a list of commands.)" |
f40837b25999
Changed version to 1.2.1.
Richard M. Stallman <rms@gnu.org>
parents:
24058
diff
changeset
|
2414 (interactive) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2415 (sql-product-interactive 'mysql)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2416 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2417 (defun sql-connect-mysql () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2418 "Create comint buffer and connect to MySQL using the login |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2419 parameters and command options." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2420 ;; Put all parameters to the program (if defined) in a list and call |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2421 ;; make-comint. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2422 (let ((params)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2423 (if (not (string= "" sql-database)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2424 (setq params (append (list sql-database) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2425 (if (not (string= "" sql-server)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2426 (setq params (append (list (concat "--host=" sql-server)) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2427 (if (not (string= "" sql-password)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2428 (setq params (append (list (concat "--password=" sql-password)) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2429 (if (not (string= "" sql-user)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2430 (setq params (append (list (concat "--user=" sql-user)) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2431 (if (not (null sql-mysql-options)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2432 (setq params (append sql-mysql-options params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2433 (set-buffer (apply 'make-comint "SQL" sql-mysql-program |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2434 nil params)))) |
24050 | 2435 |
2436 | |
2437 | |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2438 ;;;###autoload |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2439 (defun sql-solid () |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2440 "Run solsql by Solid as an inferior process. |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2441 |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2442 If buffer `*SQL*' exists but no process is running, make a new process. |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2443 If buffer exists and a process is running, just switch to buffer |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2444 `*SQL*'. |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2445 |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2446 Interpreter used comes from variable `sql-solid-program'. Login uses |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2447 the variables `sql-user', `sql-password', and `sql-server' as |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2448 defaults, if set. |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2449 |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2450 The buffer is put in sql-interactive-mode, giving commands for sending |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2451 input. See `sql-interactive-mode'. |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2452 |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2453 To specify a coding system for converting non-ASCII characters |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2454 in the input and output to the process, use \\[universal-coding-system-argument] |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2455 before \\[sql-solid]. You can also specify this with \\[set-buffer-process-coding-system] |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2456 in the SQL buffer, after you start the process. |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2457 The default comes from `process-coding-system-alist' and |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2458 `default-process-coding-system'. |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2459 |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2460 \(Type \\[describe-mode] in the SQL buffer for a list of commands.)" |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2461 (interactive) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2462 (sql-product-interactive 'solid)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2463 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2464 (defun sql-connect-solid () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2465 "Create comint buffer and connect to Solid using the login |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2466 parameters and command options." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2467 ;; Put all parameters to the program (if defined) in a list and call |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2468 ;; make-comint. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2469 (let ((params)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2470 ;; It only makes sense if both username and password are there. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2471 (if (not (or (string= "" sql-user) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2472 (string= "" sql-password))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2473 (setq params (append (list sql-user sql-password) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2474 (if (not (string= "" sql-server)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2475 (setq params (append (list sql-server) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2476 (set-buffer (apply 'make-comint "SQL" sql-solid-program |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2477 nil params)))) |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2478 |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2479 |
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2480 |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2481 ;;;###autoload |
24050 | 2482 (defun sql-ingres () |
2483 "Run sql by Ingres as an inferior process. | |
2484 | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2485 If buffer `*SQL*' exists but no process is running, make a new process. |
24050 | 2486 If buffer exists and a process is running, just switch to buffer |
2487 `*SQL*'. | |
2488 | |
2489 Interpreter used comes from variable `sql-ingres-program'. Login uses | |
2490 the variable `sql-database' as default, if set. | |
2491 | |
2492 The buffer is put in sql-interactive-mode, giving commands for sending | |
2493 input. See `sql-interactive-mode'. | |
2494 | |
2495 To specify a coding system for converting non-ASCII characters | |
2496 in the input and output to the process, use \\[universal-coding-system-argument] | |
2497 before \\[sql-ingres]. You can also specify this with \\[set-buffer-process-coding-system] | |
2498 in the SQL buffer, after you start the process. | |
2499 The default comes from `process-coding-system-alist' and | |
2500 `default-process-coding-system'. | |
2501 | |
2502 \(Type \\[describe-mode] in the SQL buffer for a list of commands.)" | |
2503 (interactive) | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2504 (sql-product-interactive 'ingres)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2505 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2506 (defun sql-connect-ingres () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2507 "Create comint buffer and connect to Ingres using the login |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2508 parameters and command options." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2509 ;; username and password are ignored. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2510 (if (string= "" sql-database) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2511 (set-buffer (make-comint "SQL" sql-ingres-program nil)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2512 (set-buffer (make-comint "SQL" sql-ingres-program nil sql-database)))) |
24050 | 2513 |
2514 | |
2515 | |
30513
12162d90d9e4
(sql-ms): Added autoload cookie.
Gerd Moellmann <gerd@gnu.org>
parents:
29937
diff
changeset
|
2516 ;;;###autoload |
24050 | 2517 (defun sql-ms () |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2518 "Run osql by Microsoft as an inferior process. |
24050 | 2519 |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2520 If buffer `*SQL*' exists but no process is running, make a new process. |
24050 | 2521 If buffer exists and a process is running, just switch to buffer |
2522 `*SQL*'. | |
2523 | |
2524 Interpreter used comes from variable `sql-ms-program'. Login uses the | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2525 variables `sql-user', `sql-password', `sql-database', and `sql-server' |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2526 as defaults, if set. Additional command line parameters can be stored |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2527 in the list `sql-ms-options'. |
24050 | 2528 |
2529 The buffer is put in sql-interactive-mode, giving commands for sending | |
2530 input. See `sql-interactive-mode'. | |
2531 | |
2532 To specify a coding system for converting non-ASCII characters | |
2533 in the input and output to the process, use \\[universal-coding-system-argument] | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2534 before \\[sql-ms]. You can also specify this with \\[set-buffer-process-coding-system] |
24050 | 2535 in the SQL buffer, after you start the process. |
2536 The default comes from `process-coding-system-alist' and | |
2537 `default-process-coding-system'. | |
2538 | |
2539 \(Type \\[describe-mode] in the SQL buffer for a list of commands.)" | |
2540 (interactive) | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2541 (sql-product-interactive 'ms)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2542 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2543 (defun sql-connect-ms () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2544 "Create comint buffer and connect to Microsoft using the login |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2545 parameters and command options." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2546 ;; Put all parameters to the program (if defined) in a list and call |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2547 ;; make-comint. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2548 (let ((params sql-ms-options)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2549 (if (not (string= "" sql-server)) |
24050 | 2550 (setq params (append (list "-S" sql-server) params))) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2551 (if (not (string= "" sql-database)) |
24050 | 2552 (setq params (append (list "-d" sql-database) params))) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2553 (if (not (string= "" sql-user)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2554 (setq params (append (list "-U" sql-user) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2555 (if (not (string= "" sql-password)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2556 (setq params (append (list "-P" sql-password) params)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2557 (if (string= "" sql-user) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2558 ;; if neither user nor password is provided, use system |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2559 ;; credentials. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2560 (setq params (append (list "-E") params)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2561 ;; If -P is passed to ISQL as the last argument without a |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2562 ;; password, it's considered null. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2563 (setq params (append params (list "-P"))))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2564 (set-buffer (apply 'make-comint "SQL" sql-ms-program |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2565 nil params)))) |
24050 | 2566 |
2567 | |
2568 | |
2569 ;;;###autoload | |
2570 (defun sql-postgres () | |
2571 "Run psql by Postgres as an inferior process. | |
2572 | |
24310
e76bade08723
Added keywords from `finder-by-keyword'.
Richard M. Stallman <rms@gnu.org>
parents:
24268
diff
changeset
|
2573 If buffer `*SQL*' exists but no process is running, make a new process. |
24050 | 2574 If buffer exists and a process is running, just switch to buffer |
2575 `*SQL*'. | |
2576 | |
2577 Interpreter used comes from variable `sql-postgres-program'. Login uses | |
24354
6a438ef0b573
Set version to 1.4.1. Changed mail address to
Richard M. Stallman <rms@gnu.org>
parents:
24353
diff
changeset
|
2578 the variables `sql-database' and `sql-server' as default, if set. |
36523
e72a04113eac
(sql-sybase): Fix typo (was: query user about server two
Gerd Moellmann <gerd@gnu.org>
parents:
34704
diff
changeset
|
2579 Additional command line parameters can be stored in the list |
e72a04113eac
(sql-sybase): Fix typo (was: query user about server two
Gerd Moellmann <gerd@gnu.org>
parents:
34704
diff
changeset
|
2580 `sql-postgres-options'. |
24050 | 2581 |
2582 The buffer is put in sql-interactive-mode, giving commands for sending | |
2583 input. See `sql-interactive-mode'. | |
2584 | |
2585 To specify a coding system for converting non-ASCII characters | |
2586 in the input and output to the process, use \\[universal-coding-system-argument] | |
2587 before \\[sql-postgres]. You can also specify this with \\[set-buffer-process-coding-system] | |
2588 in the SQL buffer, after you start the process. | |
2589 The default comes from `process-coding-system-alist' and | |
25826
e55139b50cb6
(sql-imenu-generic-expression): new, used to set
Alex Schroeder <alex@gnu.org>
parents:
25381
diff
changeset
|
2590 `default-process-coding-system'. If your output lines end with ^M, |
24050 | 2591 your might try undecided-dos as a coding system. If this doesn't help, |
2592 Try to set `comint-output-filter-functions' like this: | |
2593 | |
2594 \(setq comint-output-filter-functions (append comint-output-filter-functions | |
2595 '(comint-strip-ctrl-m))) | |
2596 | |
2597 \(Type \\[describe-mode] in the SQL buffer for a list of commands.)" | |
2598 (interactive) | |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2599 (sql-product-interactive 'postgres)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2600 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2601 (defun sql-connect-postgres () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2602 "Create comint buffer and connect to Postgres using the login |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2603 parameters and command options." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2604 ;; username and password are ignored. Mark Stosberg suggest to add |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2605 ;; the database at the end. Jason Beegan suggest using --pset and |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2606 ;; pager=off instead of \\o|cat. The later was the solution by |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2607 ;; Gregor Zych. Jason's suggestion is the default value for |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2608 ;; sql-postgres-options. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2609 (let ((params sql-postgres-options)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2610 (if (not (string= "" sql-database)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2611 (setq params (append params (list sql-database)))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2612 (if (not (string= "" sql-server)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2613 (setq params (append (list "-h" sql-server) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2614 (set-buffer (apply 'make-comint "SQL" sql-postgres-program |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2615 nil params)))) |
24050 | 2616 |
36571
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2617 |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2618 |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2619 ;;;###autoload |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2620 (defun sql-interbase () |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2621 "Run isql by Interbase as an inferior process. |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2622 |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2623 If buffer `*SQL*' exists but no process is running, make a new process. |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2624 If buffer exists and a process is running, just switch to buffer |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2625 `*SQL*'. |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2626 |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2627 Interpreter used comes from variable `sql-interbase-program'. Login |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2628 uses the variables `sql-user', `sql-password', and `sql-database' as |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2629 defaults, if set. |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2630 |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2631 The buffer is put in sql-interactive-mode, giving commands for sending |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2632 input. See `sql-interactive-mode'. |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2633 |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2634 To specify a coding system for converting non-ASCII characters |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2635 in the input and output to the process, use \\[universal-coding-system-argument] |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2636 before \\[sql-interbase]. You can also specify this with \\[set-buffer-process-coding-system] |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2637 in the SQL buffer, after you start the process. |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2638 The default comes from `process-coding-system-alist' and |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2639 `default-process-coding-system'. |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2640 |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2641 \(Type \\[describe-mode] in the SQL buffer for a list of commands.)" |
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2642 (interactive) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2643 (sql-product-interactive 'interbase)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2644 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2645 (defun sql-connect-interbase () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2646 "Create comint buffer and connect to Interbase using the login |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2647 parameters and command options." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2648 ;; Put all parameters to the program (if defined) in a list and call |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2649 ;; make-comint. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2650 (let ((params sql-interbase-options)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2651 (if (not (string= "" sql-user)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2652 (setq params (append (list "-u" sql-user) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2653 (if (not (string= "" sql-password)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2654 (setq params (append (list "-p" sql-password) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2655 (if (not (string= "" sql-database)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2656 (setq params (cons sql-database params))) ; add to the front! |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2657 (set-buffer (apply 'make-comint "SQL" sql-interbase-program |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2658 nil params)))) |
36571
54a8a84a22f6
(sql-interbase): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36523
diff
changeset
|
2659 |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2660 |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2661 |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2662 ;;;###autoload |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2663 (defun sql-db2 () |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2664 "Run db2 by IBM as an inferior process. |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2665 |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2666 If buffer `*SQL*' exists but no process is running, make a new process. |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2667 If buffer exists and a process is running, just switch to buffer |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2668 `*SQL*'. |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2669 |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2670 Interpreter used comes from variable `sql-db2-program'. There is not |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2671 automatic login. |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2672 |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2673 The buffer is put in sql-interactive-mode, giving commands for sending |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2674 input. See `sql-interactive-mode'. |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2675 |
38872 | 2676 If you use \\[sql-accumulate-and-indent] to send multiline commands to |
2677 db2, newlines will be escaped if necessary. If you don't want that, set | |
2678 `comint-input-sender' back to `comint-simple-send' by writing an after | |
2679 advice. See the elisp manual for more information. | |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2680 |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2681 To specify a coding system for converting non-ASCII characters |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2682 in the input and output to the process, use \\[universal-coding-system-argument] |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2683 before \\[sql-db2]. You can also specify this with \\[set-buffer-process-coding-system] |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2684 in the SQL buffer, after you start the process. |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2685 The default comes from `process-coding-system-alist' and |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2686 `default-process-coding-system'. |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2687 |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2688 \(Type \\[describe-mode] in the SQL buffer for a list of commands.)" |
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2689 (interactive) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2690 (sql-product-interactive 'db2)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2691 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2692 (defun sql-connect-db2 () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2693 "Create comint buffer and connect to DB2 using the login |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2694 parameters and command options." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2695 ;; Put all parameters to the program (if defined) in a list and call |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2696 ;; make-comint. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2697 (set-buffer (apply 'make-comint "SQL" sql-db2-program |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2698 nil sql-db2-options)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2699 ;; Properly escape newlines when DB2 is interactive. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2700 (setq comint-input-sender 'sql-escape-newlines-and-send)) |
37409
9781f3a3c955
(sql-escape-newlines-and-send): New function.
Gerd Moellmann <gerd@gnu.org>
parents:
36571
diff
changeset
|
2701 |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2702 ;;;###autoload |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2703 (defun sql-linter () |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2704 "Run inl by RELEX as an inferior process. |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2705 |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2706 If buffer `*SQL*' exists but no process is running, make a new process. |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2707 If buffer exists and a process is running, just switch to buffer |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2708 `*SQL*'. |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2709 |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2710 Interpreter used comes from variable `sql-linter-program' - usually `inl'. |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2711 Login uses the variables `sql-user', `sql-password', `sql-database' and |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2712 `sql-server' as defaults, if set. Additional command line parameters |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2713 can be stored in the list `sql-linter-options'. Run inl -h to get help on |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2714 parameters. |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2715 |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2716 `sql-database' is used to set the LINTER_MBX environment variable for |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2717 local connections, `sql-server' refers to the server name from the |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2718 `nodetab' file for the network connection (dbc_tcp or friends must run |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2719 for this to work). If `sql-password' is an empty string, inl will use |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2720 an empty password. |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2721 |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2722 The buffer is put in sql-interactive-mode, giving commands for sending |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2723 input. See `sql-interactive-mode'. |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2724 |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2725 \(Type \\[describe-mode] in the SQL buffer for a list of commands.)" |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2726 (interactive) |
52242
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2727 (sql-product-interactive 'linter)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2728 |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2729 (defun sql-connect-linter () |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2730 "Create comint buffer and connect to Linter using the login |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2731 parameters and command options." |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2732 ;; Put all parameters to the program (if defined) in a list and call |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2733 ;; make-comint. |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2734 (let ((params sql-linter-options) (login nil) (old-mbx (getenv "LINTER_MBX"))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2735 (if (not (string= "" sql-user)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2736 (setq login (concat sql-user "/" sql-password))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2737 (setq params (append (list "-u" login) params)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2738 (if (not (string= "" sql-server)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2739 (setq params (append (list "-n" sql-server) params))) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2740 (if (string= "" sql-database) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2741 (setenv "LINTER_MBX" nil) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2742 (setenv "LINTER_MBX" sql-database)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2743 (set-buffer (apply 'make-comint "SQL" sql-linter-program nil |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2744 params)) |
f5ada28bb9f0
Patch by Michael Mauger <mmaug@yahoo.com>
Alex Schroeder <alex@gnu.org>
parents:
51929
diff
changeset
|
2745 (setenv "LINTER_MBX" old-mbx))) |
48486
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2746 |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2747 |
893d44670df9
Added LINTER support.
Juanma Barranquero <lekktu@gmail.com>
parents:
42799
diff
changeset
|
2748 |
24050 | 2749 (provide 'sql) |
2750 | |
52401 | 2751 ;;; arch-tag: 7e1fa1c4-9ca2-402e-87d2-83a5eccb7ac3 |
24050 | 2752 ;;; sql.el ends here |