MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.117.158.174
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/progmodes/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/progmodes/sql.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:09:30 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/progmodes/sql.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\300\303!\207" [require comint custom thingatpt] 2)
#@47 Return 1, 0, or -1 to identify the sign of N.
(defalias 'sql-signum #[(n) "\247\204\301\207\302W\203\303\207\302V\203\304\207\302\207" [n nil 0 -1 1] 2 (#$ . 646)])
(byte-code "\300\301\302\303\304\305\306\307\306\310&	\210\311\312\313\314\315\316\306\301\317\320&	\210\311\321\313\322\315\316\306\301\323\324&	\210\311\325\313\326\315\316\306\301\317\320&	\210\311\327\313\330\315\316\306\301\317\320&	\210\311\331\332\333\304\334\315\335\306\301\317\336&\210\337\340\341\342\343\344\315\345&\207" [custom-declare-group SQL nil "Running a SQL interpreter from within Emacs buffers." :version "20.4" :group languages processes custom-declare-variable sql-user #1="" "Default username." :type string :safe stringp sql-password "Default password.\nIf you customize this, the value will be stored in your init\nfile.  Since that is a plaintext file, this could be dangerous." :risky t sql-database "Default database." sql-server "Default server or host." sql-port 0 "Default port for connecting to a MySQL or Postgres server." "24.1" number numberp define-widget sql-login-params lazy "Widget definition of the login parameters list" :tag "Login Parameters" (repeat (choice (const user) (const password) (choice :tag "server" (const server) (list :tag "file" (const :format #1# server) (const :format #1# :file) regexp) (list :tag "completion" (const :format #1# server) (const :format #1# :completion) (restricted-sexp :match-alternatives (listp stringp)))) (choice :tag "database" (const database) (list :tag "file" (const :format #1# database) (const :format #1# :file) regexp) (list :tag "completion" (const :format #1# database) (const :format #1# :completion) (restricted-sexp :match-alternatives (listp stringp)))) (const port)))] 12)
#@39 Product under `sql-interactive-mode'.
(defvar sql-interactive-product nil (#$ . 2402))
#@66 Connection name if interactive session started by `sql-connect'.
(defvar sql-connection nil (#$ . 2495))
#@5260 An alist of product specific configuration settings.

Without an entry in this list a product will not be properly
highlighted and will not support `sql-interactive-mode'.

Each element in the list is in the following format:

 (PRODUCT FEATURE VALUE ...)

where PRODUCT is the appropriate value of `sql-product'.  The
product name is then followed by FEATURE-VALUE pairs.  If a
FEATURE is not specified, its VALUE is treated as nil.  FEATURE
may be any one of the following:

 :name                  string containing the displayable name of
                        the product.

 :free-software         is the product Free (as in Freedom) software?

 :font-lock             name of the variable containing the product
                        specific font lock highlighting patterns.

 :sqli-program          name of the variable containing the product
                        specific interactive program name.

 :sqli-options          name of the variable containing the list
                        of product specific options.

 :sqli-login            name of the variable containing the list of
                        login parameters (i.e., user, password,
                        database and server) needed to connect to
                        the database.

 :sqli-comint-func      name of a function which accepts no
                        parameters that will use the values of
                        `sql-user', `sql-password',
                        `sql-database', `sql-server' and
                        `sql-port' to open a comint buffer and
                        connect to the database.  Do product
                        specific configuration of comint in this
                        function.

 :list-all              Command string or function which produces
                        a listing of all objects in the database.
                        If it's a cons cell, then the car
                        produces the standard list of objects and
                        the cdr produces an enhanced list of
                        objects.  What "enhanced" means is
                        dependent on the SQL product and may not
                        exist.  In general though, the
                        "enhanced" list should include visible
                        objects from other schemas.

 :list-table            Command string or function which produces
                        a detailed listing of a specific database
                        table.  If its a cons cell, then the car
                        produces the standard list and the cdr
                        produces an enhanced list.

 :completion-object     A function that returns a list of
                        objects.  Called with a single
                        parameter--if nil then list objects
                        accessible in the current schema, if
                        not-nil it is the name of a schema whose
                        objects should be listed.

 :completion-column     A function that returns a list of
                        columns.  Called with a single
                        parameter--if nil then list objects
                        accessible in the current schema, if
                        not-nil it is the name of a schema whose
                        objects should be listed.

 :prompt-regexp         regular expression string that matches
                        the prompt issued by the product
                        interpreter.

 :prompt-length         length of the prompt on the line.

 :prompt-cont-regexp    regular expression string that matches
                        the continuation prompt issued by the
                        product interpreter.

 :input-filter          function which can filter strings sent to
                        the command interpreter.  It is also used
                        by the `sql-send-string',
                        `sql-send-region', `sql-send-paragraph'
                        and `sql-send-buffer' functions.  The
                        function is passed the string sent to the
                        command interpreter and must return the
                        filtered string.  May also be a list of
                        such functions.

 :statement             name of a variable containing a regexp that
                        matches the beginning of SQL statements.

 :terminator            the terminator to be sent after a
                        `sql-send-string', `sql-send-region',
                        `sql-send-paragraph' and
                        `sql-send-buffer' command.  May be the
                        literal string or a cons of a regexp to
                        match an existing terminator in the
                        string and the terminator to be used if
                        its absent.  By default ";".

 :syntax-alist          alist of syntax table entries to enable
                        special character treatment by font-lock
                        and imenu.

Other features can be stored but they will be ignored.  However,
you can develop new functionality which is product independent by
using `sql-get-product-feature' to lookup the product specific
settings.
(defvar sql-product-alist '((ansi :name "ANSI" :font-lock sql-mode-ansi-font-lock-keywords :statement sql-ansi-statement-starters) (db2 :name "DB2" :font-lock sql-mode-db2-font-lock-keywords :sqli-program sql-db2-program :sqli-options sql-db2-options :sqli-login sql-db2-login-params :sqli-comint-func sql-comint-db2 :prompt-regexp "^db2 => " :prompt-length 7 :prompt-cont-regexp "^db2 (cont.) => " :input-filter sql-escape-newlines-filter) (informix :name "Informix" :font-lock sql-mode-informix-font-lock-keywords :sqli-program sql-informix-program :sqli-options sql-informix-options :sqli-login sql-informix-login-params :sqli-comint-func sql-comint-informix :prompt-regexp "^> " :prompt-length 2 :syntax-alist ((123 . "<") (125 . ">"))) (ingres :name "Ingres" :font-lock sql-mode-ingres-font-lock-keywords :sqli-program sql-ingres-program :sqli-options sql-ingres-options :sqli-login sql-ingres-login-params :sqli-comint-func sql-comint-ingres :prompt-regexp "^* " :prompt-length 2 :prompt-cont-regexp "^* ") (interbase :name "Interbase" :font-lock sql-mode-interbase-font-lock-keywords :sqli-program sql-interbase-program :sqli-options sql-interbase-options :sqli-login sql-interbase-login-params :sqli-comint-func sql-comint-interbase :prompt-regexp "^SQL> " :prompt-length 5) (linter :name "Linter" :font-lock sql-mode-linter-font-lock-keywords :sqli-program sql-linter-program :sqli-options sql-linter-options :sqli-login sql-linter-login-params :sqli-comint-func sql-comint-linter :prompt-regexp "^SQL>" :prompt-length 4) (ms :name "Microsoft" :font-lock sql-mode-ms-font-lock-keywords :sqli-program sql-ms-program :sqli-options sql-ms-options :sqli-login sql-ms-login-params :sqli-comint-func sql-comint-ms :prompt-regexp "^[0-9]*>" :prompt-length 5 :syntax-alist ((64 . "_")) :terminator ("^go" . "go")) (mysql :name "MySQL" :free-software t :font-lock sql-mode-mysql-font-lock-keywords :sqli-program sql-mysql-program :sqli-options sql-mysql-options :sqli-login sql-mysql-login-params :sqli-comint-func sql-comint-mysql :list-all "SHOW TABLES;" :list-table "DESCRIBE %s;" :prompt-regexp "^mysql> " :prompt-length 6 :prompt-cont-regexp "^    -> " :syntax-alist ((35 . "< b")) :input-filter sql-remove-tabs-filter) (oracle :name "Oracle" :font-lock sql-mode-oracle-font-lock-keywords :sqli-program sql-oracle-program :sqli-options sql-oracle-options :sqli-login sql-oracle-login-params :sqli-comint-func sql-comint-oracle :list-all sql-oracle-list-all :list-table sql-oracle-list-table :completion-object sql-oracle-completion-object :prompt-regexp "^SQL> " :prompt-length 5 :prompt-cont-regexp "^\\s-*[[:digit:]]+  " :statement sql-oracle-statement-starters :syntax-alist ((36 . "_") (35 . "_")) :terminator ("\\(^/\\|;\\)$" . "/") :input-filter sql-placeholders-filter) (postgres :name "Postgres" :free-software t :font-lock sql-mode-postgres-font-lock-keywords :sqli-program sql-postgres-program :sqli-options sql-postgres-options :sqli-login sql-postgres-login-params :sqli-comint-func sql-comint-postgres :list-all ("\\d+" . "\\dS+") :list-table ("\\d+ %s" . "\\dS+ %s") :completion-object sql-postgres-completion-object :prompt-regexp "^\\w*=[#>] " :prompt-length 5 :prompt-cont-regexp "^\\w*[-(][#>] " :input-filter sql-remove-tabs-filter :terminator ("\\(^\\s-*\\\\g$\\|;\\)" . "\\g")) (solid :name "Solid" :font-lock sql-mode-solid-font-lock-keywords :sqli-program sql-solid-program :sqli-options sql-solid-options :sqli-login sql-solid-login-params :sqli-comint-func sql-comint-solid :prompt-regexp "^" :prompt-length 0) (sqlite :name "SQLite" :free-software t :font-lock sql-mode-sqlite-font-lock-keywords :sqli-program sql-sqlite-program :sqli-options sql-sqlite-options :sqli-login sql-sqlite-login-params :sqli-comint-func sql-comint-sqlite :list-all ".tables" :list-table ".schema %s" :completion-object sql-sqlite-completion-object :prompt-regexp "^sqlite> " :prompt-length 8 :prompt-cont-regexp "^   ...> " :terminator ";") (sybase :name "Sybase" :font-lock sql-mode-sybase-font-lock-keywords :sqli-program sql-sybase-program :sqli-options sql-sybase-options :sqli-login sql-sybase-login-params :sqli-comint-func sql-comint-sybase :prompt-regexp "^SQL> " :prompt-length 5 :syntax-alist ((64 . "_")) :terminator ("^go" . "go"))) (#$ . 2608))
(defvar sql-indirect-features '(:font-lock :sqli-program :sqli-options :sqli-login :statement))
(byte-code "\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\"BE\320BB\257\321\322\323\324&	\210\301\325\326\327\305\315\316\330\"B\323\324\331\332&	\210\333\334\325\"\210\301\335\303\336\305\337\321\340\323\324&	\210\301\341\303\342\305\343\321\344\323\324&	\207" [sql-product-alist custom-declare-variable sql-connection-alist nil "An alist of connection parameters for interacting with a SQL product.\nEach element of the alist is as follows:\n\n  (CONNECTION (SQL-VARIABLE VALUE) ...)\n\nWhere CONNECTION is a symbol identifying the connection, SQL-VARIABLE\nis the symbol name of a SQL mode variable, and VALUE is the value to\nbe assigned to the variable.  The most common SQL-VARIABLE settings\nassociated with a connection are: `sql-product', `sql-user',\n`sql-password', `sql-port', `sql-server', and `sql-database'.\n\nIf a SQL-VARIABLE is part of the connection, it will not be\nprompted for during login.  The command `sql-connect' starts a\npredefined SQLi session using the parameters from this list.\nConnections defined here appear in the submenu SQL->Start...  for\nmaking new SQLi sessions." :type alist :key-type (string :tag "Connection") :value-type set group (const :tag "Product" sql-product) choice mapcar #[(prod-info) "\301\302\303A\304\"\206\305\306@!!\307@DF\207" [prod-info const :tag plist-get :name capitalize symbol-name quote] 5] ((group (const :tag "Username" sql-user) string) (group (const :tag "Password" sql-password) string) (group (const :tag "Server" sql-server) string) (group (const :tag "Database" sql-database) string) (group (const :tag "Port" sql-port) integer) (repeat :inline t (list :tab "Other" (symbol :tag " Variable Symbol") (sexp :tag "Value Expression")))) :version "24.1" :group SQL sql-product 'ansi "Select the SQL database product used so that buffers can be\nhighlighted properly when you open them." #[(prod-info) "\301\302\303A\304\"\206\305\306@!!@F\207" [prod-info const :tag plist-get :name capitalize symbol-name] 5] :safe symbolp defvaralias sql-dialect sql-electric-stuff "Treat some input as electric.\nIf set to the symbol `semicolon', then hitting `;' will send current\ninput in the SQLi buffer to the process.\nIf set to the symbol `go', then hitting `go' on a line by itself will\nsend current input in the SQLi buffer to the process.\nIf set to nil, then you must use \\[comint-send-input] in order to send\ncurrent input in the SQLi buffer to the process." (choice (const :tag "Nothing" nil) (const :tag "The semicolon `;'" semicolon) (const :tag "The string `go' by itself" go)) "20.8" sql-send-terminator "When non-nil, add a terminator to text sent to the SQL interpreter.\n\nWhen text is sent to the SQL interpreter (via `sql-send-string',\n`sql-send-region', `sql-send-paragraph' or `sql-send-buffer'), a\ncommand terminator can be automatically sent as well.  The\nterminator is not sent, if the string sent already ends with the\nterminator.\n\nIf this value is t, then the default command terminator for the\nSQL interpreter is sent.  If this value is a string, then the\nstring is sent.\n\nIf the value is a cons cell of the form (PAT . TERM), then PAT is\na regexp used to match the terminator in the string and TERM is\nthe terminator to be sent.  This form is useful if the SQL\ninterpreter has more than one way of submitting a SQL command.\nThe PAT regexp can match any of them, and TERM is the way we do\nit automatically." (choice (const :tag "No Terminator" nil) (const :tag "Default Terminator" t) (string :tag "Terminator String") (cons :tag "Terminator Pattern and String" (string :tag "Terminator Pattern") (string :tag "Terminator String"))) "22.2"] 16)
#@170 When non-nil, the current buffer contains database names.

Globally should be set to nil; it will be non-nil in `sql-mode',
`sql-interactive-mode' and list all buffers.
(defvar sql-contains-names nil (#$ . 15916))
#@376 When non-nil, pop to the buffer SQL statements are sent to.

After a call to `sql-sent-string', `sql-send-region',
`sql-send-paragraph' or `sql-send-buffer', the window is split
and the SQLi buffer is shown.  If this variable is not nil, that
buffer's window will be selected by calling `pop-to-buffer'.  If
this variable is nil, that buffer is shown using
`display-buffer'.
(custom-declare-variable 'sql-pop-to-buffer-after-send-region nil '(#$ . 16137) :type 'boolean :group 'SQL)
#@277 Define interesting points in the SQL buffer for `imenu'.

This is used to set `imenu-generic-expression' when SQL mode is
entered.  Subsequent changes to `sql-imenu-generic-expression' will
not affect existing SQL buffers because imenu-generic-expression is
a local variable.
(defvar sql-imenu-generic-expression '(("Rules/Defaults" "^\\s-*create\\s-+\\(\\w+\\s-+\\)*\\(rule\\|default\\)\\s-+\\(\\w+\\)" 3) ("Sequences" "^\\s-*create\\s-+\\(\\w+\\s-+\\)*sequence\\s-+\\(\\w+\\)" 2) ("Triggers" "^\\s-*create\\s-+\\(\\w+\\s-+\\)*trigger\\s-+\\(\\w+\\)" 2) ("Functions" "^\\s-*\\(create\\s-+\\(\\w+\\s-+\\)*\\)?function\\s-+\\(\\w+\\)" 3) ("Procedures" "^\\s-*\\(create\\s-+\\(\\w+\\s-+\\)*\\)?proc\\(edure\\)?\\s-+\\(\\w+\\)" 4) ("Packages" "^\\s-*create\\s-+\\(\\w+\\s-+\\)*package\\s-+\\(body\\s-+\\)?\\(\\w+\\)" 3) ("Types" "^\\s-*create\\s-+\\(\\w+\\s-+\\)*type\\s-+\\(body\\s-+\\)?\\(\\w+\\)" 3) ("Indexes" "^\\s-*create\\s-+\\(\\w+\\s-+\\)*index\\s-+\\(\\w+\\)" 2) ("Tables/Views" "^\\s-*create\\s-+\\(\\w+\\s-+\\)*\\(table\\|view\\)\\s-+\\(\\w+\\)" 3)) (#$ . 16627))
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\313\306\307&\210\300\314\315\316\304\317\306\307&\210\300\320\321\322\304\317\306\307&\210\300\323\324\325\304\317\306\307&\210\300\326\327\330\331\332\304\317\306\307&	\210\300\333\334\335\331\332\304\313\306\307&	\210\300\336\337\340\304\341\306\307&\210\300\342\302\343\304\344\331\345\306\307&	\210\300\346\347\350\304\351\331\332\306\307&	\210\300\352\353\354\331\332\304\313\306\307&	\210\300\355\356\357\331\332\304\360\306\307&	\210\300\361\302\362\331\363\304\360\306\307&	\210\300\364\365\366\304\341\306\307&\210\300\367\302\370\304\371\331\345\306\307&	\210\300\372\373\374\304\351\331\332\306\307&	\210\300\375\376\377\304\341\306\307&\210\300\201@\302\201A\304\201B\331\345\306\307&	\210\300\201C\201D\201E\304\351\331\332\306\307&	\210\300\201F\201G\201H\304\341\306\307&\210\300\201I\201J\201K\304\351\331\332\306\307&	\210\300\201L\201M\201N\304\341\306\307&\210\300\201O\302\201P\304\201Q\331\345\306\307&	\210\300\201R\201S\201T\304\351\331\332\306\307&	\210\300\201U\201V\201W\304\341\306\307&\210\300\201X\201Y\201Z\304\351\331\332\306\307&	\210\300\201[\201\\\201]\304\341\306\307&\210\300\201^\201_\201`\304\351\331\332\306\307&	\210\300\201a\201b\201c\304\341\306\307&\210\300\201d\201e\201f\304\201g\331\201h\306\307&	\210\300\201i\201j\201k\304\351\331\332\306\307&	\210\300\201l\201m\201n\304\341\306\307&\210\300\201o\201p\201q\304\201r\331\345\306\307&	\210\300\201s\201t\201u\304\351\331\332\306\307&	\210\300\201v\201M\201w\304\341\306\307&\210\300\201x\302\201y\304\201z\331\345\306\307&	\210\300\201{\201|\201}\304\351\331\332\306\307&	\210\300\201~\201\201\200\304\341\306\307&\210\300\201\201\302\201\202\304\201\203\331\345\306\307&	\210\300\201\204\302\201\205\304\351\331\332\306\307&	\210\300\201\206\201\207\201\210\304\341\306\307&\210\300\201\211\302\201\212\304\201\213\331\201\214\306\307&	\210\300\201\215\201\216\201\217\304\351\331\332\306\307&	\207" [custom-declare-variable sql-input-ring-file-name nil "If non-nil, name of the file to read/write input history.\n\nYou have to set this variable if you want the history of your commands\nsaved from one Emacs session to the next.  If this variable is set,\nexiting the SQL interpreter in an SQLi buffer will write the input\nhistory to the specified file.  Starting a new process in a SQLi buffer\nwill read the input history from the specified file.\n\nThis is used to initialize `comint-input-ring-file-name'.\n\nNote that the size of the input history is determined by the variable\n`comint-input-ring-size'." :type (choice (const :tag "none" nil) (file)) :group SQL sql-input-ring-separator "\n--\n" "Separator between commands in the history file.\n\nIf set to \"\\n\", each line in the history file will be interpreted as\none command.  Multi-line commands are split into several commands when\nthe input ring is initialized from a history file.\n\nThis variable used to initialize `comint-input-ring-separator'.\n`comint-input-ring-separator' is part of Emacs 21; if your Emacs\ndoes not have it, setting `sql-input-ring-separator' will have no\neffect.  In that case multiline commands will be split into several\ncommands when the input history is read, as if you had set\n`sql-input-ring-separator' to \"\\n\"." string sql-interactive-mode-hook 'nil "Hook for customizing `sql-interactive-mode'." hook sql-mode-hook 'nil "Hook for customizing `sql-mode'." sql-set-sqli-hook 'nil "Hook for reacting to changes of `sql-buffer'.\n\nThis is called by `sql-set-sqli-buffer' when the value of `sql-buffer'\nis changed." sql-login-hook 'nil "Hook for interacting with a buffer in `sql-interactive-mode'.\n\nThis hook is invoked in a buffer once it is ready to accept input\nfor the first time." :version "24.1" sql-ansi-statement-starters (regexp-opt '("create" "alter" "drop" "select" "insert" "update" "delete" "merge" "grant" "revoke")) "Regexp of keywords that start SQL commands\n\nAll products share this list; products should define a regexp to\nidentify additional keywords in a variable defined by\nthe :statement feature." sql-oracle-program "sqlplus" "Command to start sqlplus by Oracle.\n\nStarts `sql-interactive-mode' after doing some setup.\n\nOn Windows, \"sqlplus\" usually starts the sqlplus \"GUI\".  In order\nto start the sqlplus console, use \"plus33\" or something similar.\nYou will find the file in your Orant\\bin directory." file sql-oracle-options "List of additional options for `sql-oracle-program'." (repeat string) "20.8" sql-oracle-login-params '(user password database) "List of login parameters needed to connect to Oracle." sql-login-params sql-oracle-statement-starters (regexp-opt '("declare" "begin" "with")) "Additional statement starting keywords in Oracle." sql-oracle-scan-on t "Non-nil if placeholders should be replaced in Oracle SQLi.\n\nWhen non-nil, Emacs will scan text sent to sqlplus and prompt\nfor replacement text for & placeholders as sqlplus does.  This\nis needed on Windows where SQL*Plus output is buffered and the\nprompts are not shown until after the text is entered.\n\nYou need to issue the following command in SQL*Plus to be safe:\n\n    SET DEFINE OFF\n\nIn older versions of SQL*Plus, this was the SET SCAN OFF command." boolean sql-db2-escape-newlines "Non-nil if newlines should be escaped by a backslash in DB2 SQLi.\n\nWhen non-nil, Emacs will automatically insert a space and\nbackslash prior to every newline in multi-line SQL statements as\nthey are submitted to an interactive DB2 session." "24.3" sql-sqlite-program (or (executable-find "sqlite3") (executable-find "sqlite") "sqlite") "Command to start SQLite.\n\nStarts `sql-interactive-mode' after doing some setup." sql-sqlite-options "List of additional options for `sql-sqlite-program'." (repeat string) sql-sqlite-login-params '((database :file ".*\\.\\(db\\|sqlite[23]?\\)")) "List of login parameters needed to connect to SQLite." sql-mysql-program "mysql" "Command to start mysql by TcX.\n\nStarts `sql-interactive-mode' after doing some setup." sql-mysql-options "List of additional options for `sql-mysql-program'.\nThe following list of options is reported to make things work\non Windows: \"-C\" \"-t\" \"-f\" \"-n\"." (repeat string) sql-mysql-login-params '(user password database server) "List of login parameters needed to connect to MySQL." sql-solid-program "solsql" "Command to start SOLID SQL Editor.\n\nStarts `sql-interactive-mode' after doing some setup." sql-solid-login-params '(user password server) "List of login parameters needed to connect to Solid." sql-sybase-program "isql" "Command to start isql by Sybase.\n\nStarts `sql-interactive-mode' after doing some setup." sql-sybase-options "List of additional options for `sql-sybase-program'.\nSome versions of isql might require the -n option in order to work." (repeat string) sql-sybase-login-params '(server user password database) "List of login parameters needed to connect to Sybase." sql-informix-program "dbaccess" "Command to start dbaccess by Informix.\n\nStarts `sql-interactive-mode' after doing some setup." sql-informix-login-params '(database) "List of login parameters needed to connect to Informix." sql-ingres-program "sql" "Command to start sql by Ingres.\n\nStarts `sql-interactive-mode' after doing some setup." sql-ingres-login-params '(database) "List of login parameters needed to connect to Ingres." sql-ms-program "osql" "Command to start osql by Microsoft.\n\nStarts `sql-interactive-mode' after doing some setup." sql-ms-options '("-w" "300" "-n") "List of additional options for `sql-ms-program'." (repeat string) "22.1" sql-ms-login-params '(user password server database) "List of login parameters needed to connect to Microsoft." sql-postgres-program "psql" "Command to start psql by Postgres.\n\nStarts `sql-interactive-mode' after doing some setup." sql-postgres-options '("-P" "pager=off") "List of additional options for `sql-postgres-program'.\nThe default setting includes the -P option which breaks older versions\nof the psql client (such as version 6.5.3).  The -P option is equivalent\nto the --pset option.  If you want the psql to prompt you for a user\nname, add the string \"-u\" to the list of options.  If you want to\nprovide a user name on the command line (newer versions such as 7.1),\nadd your name with a \"-U\" prefix (such as \"-Umark\") to the list." (repeat string) sql-postgres-login-params `((user :default ,(user-login-name)) (database :default ,(user-login-name)) server) "List of login parameters needed to connect to Postgres." sql-interbase-program "Command to start isql by Interbase.\n\nStarts `sql-interactive-mode' after doing some setup." sql-interbase-options "List of additional options for `sql-interbase-program'." (repeat string) sql-interbase-login-params '(user password database) "List of login parameters needed to connect to Interbase." sql-db2-program "db2" "Command to start db2 by IBM.\n\nStarts `sql-interactive-mode' after doing some setup." sql-db2-options "List of additional options for `sql-db2-program'." (repeat string) sql-db2-login-params "List of login parameters needed to connect to DB2." sql-linter-program "inl" "Command to start inl by RELEX.\n\nStarts `sql-interactive-mode' after doing some setup." sql-linter-options "List of additional options for `sql-linter-program'." (repeat string) "21.3" sql-linter-login-params '(user password database server) "Login parameters to needed to connect to Linter."] 10)
#@28 History of usernames used.
(defvar sql-user-history nil (#$ . 27294))
#@28 History of databases used.
(defvar sql-database-history nil (#$ . 27370))
#@26 History of servers used.
(defvar sql-server-history nil (#$ . 27450))
#@27 History of products used.
(defvar sql-product-history nil (#$ . 27526))
#@30 History of connections used.
(defvar sql-connection-history nil (#$ . 27604))
#@368 Current SQLi buffer.

The global value of `sql-buffer' is the name of the latest SQLi buffer
created.  Any SQL buffer created will make a local copy of this value.
See `sql-interactive-mode' for more on multiple sessions.  If you want
to change the SQLi buffer a SQL mode sends its SQL strings to, change
the local value of `sql-buffer' using \[sql-set-sqli-buffer].
(defvar sql-buffer nil (#$ . 27689))
#@119 Prompt used to initialize `comint-prompt-regexp'.

You can change `sql-prompt-regexp' on `sql-interactive-mode-hook'.
(defvar sql-prompt-regexp nil (#$ . 28100))
#@129 Prompt used to set `left-margin' in `sql-interactive-mode'.

You can change `sql-prompt-length' on `sql-interactive-mode-hook'.
(defvar sql-prompt-length 0 (#$ . 28269))
#@51 Prompt pattern of statement continuation prompts.
(defvar sql-prompt-cont-regexp nil (#$ . 28445))
#@92 Buffer-local string used to possibly rename the SQLi buffer.

Used by `sql-rename-buffer'.
(defvar sql-alternate-buffer-name nil (#$ . 28550))
#@314 Returns non-nil if the process associated with buffer is live.

BUFFER can be a buffer object or a buffer name.  The buffer must
be a live buffer, have an running process attached to it, be in
`sql-interactive-mode', and, if PRODUCT or CONNECTION are
specified, it's `sql-product' or `sql-connection' must match.
(defalias 'sql-buffer-live-p #[(buffer &optional product connection) "\205;\305!\211\205;\306!\205;\307!\205;\310!\205;rq\210\311\312!\205:	\2032	\n=\205:?\206:\f=)\207" [buffer product sql-product connection sql-connection get-buffer buffer-live-p get-buffer-process comint-check-proc derived-mode-p sql-interactive-mode] 3 (#$ . 28700)])
#@71 Mode map used for `sql-interactive-mode'.
Based on `comint-mode-map'.
(defvar sql-interactive-mode-map (byte-code "\302 \303\304!\203\304	\"\210\202\303\305!\203\305	C\"\210\303\306!\203(\306\307\"\210\310\311\312#\210\310\313\314#\210\310\315\316#\210\310\317\316#\210\310\320\321#\210\310\322\323#\210\310\324\325#\210)\207" [map comint-mode-map make-sparse-keymap fboundp set-keymap-parent set-keymap-parents set-keymap-name sql-interactive-mode-map define-key "\n" sql-accumulate-and-indent "" sql-copy-column "O" sql-magic-go "o" ";" sql-magic-semicolon "\fa" sql-list-all "\ft" sql-list-table] 4) (#$ . 29377))
#@31 Mode map used for `sql-mode'.
(defvar sql-mode-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\320#\210\302\321\322#\210\302\323\324#\210)\207" [map make-sparse-keymap define-key "" sql-send-paragraph "" sql-send-region "" sql-send-string "" sql-send-buffer "	" sql-product-interactive "\fa" sql-list-all "\ft" sql-list-table [remap beginning-of-defun] sql-beginning-of-statement [remap end-of-defun] sql-end-of-statement] 4) (#$ . 30023))
#@22 Menu for `sql-mode'.
(defvar sql-mode-menu nil (#$ . 30575))
(byte-code "\302\303\304\305\306\307\310\311\312\313\314\312\315\316\317\320\321\322\323\324\325\326	\"B\257$\207" [sql-mode-map sql-product-alist easy-menu-do-define sql-mode-menu "Menu for `sql-mode'." "SQL" ["Send Paragraph" sql-send-paragraph (sql-buffer-live-p sql-buffer)] ["Send Region" sql-send-region (and mark-active (sql-buffer-live-p sql-buffer))] ["Send Buffer" sql-send-buffer (sql-buffer-live-p sql-buffer)] ["Send String" sql-send-string (sql-buffer-live-p sql-buffer)] "--" ["List all objects" sql-list-all (and (sql-buffer-live-p sql-buffer) (sql-get-product-feature sql-product :list-all))] ["List table details" sql-list-table (and (sql-buffer-live-p sql-buffer) (sql-get-product-feature sql-product :list-table))] ["Start SQLi session" sql-product-interactive :visible (not sql-connection-alist) :enable (sql-get-product-feature sql-product :sqli-comint-func)] ("Start..." :visible sql-connection-alist :filter sql-connection-menu-filter "--" ["New SQLi Session" sql-product-interactive (sql-get-product-feature sql-product :sqli-comint-func)]) ["--" :visible sql-connection-alist] ["Show SQLi buffer" sql-show-sqli-buffer t] ["Set SQLi buffer" sql-set-sqli-buffer t] ["Pop to SQLi buffer after send" sql-toggle-pop-to-buffer-after-send-region :style toggle :selected sql-pop-to-buffer-after-send-region] ["--" nil nil] "Product" mapcar #[(prod-info) "\211A@\304\305\"\206\306\307	!!\310\311\312	\"!\211\313\314\311\315\n\"\316\317\320	DD\257M\210\321\n\322\323\324\325\326\320	DE&+\207" [prod-info prod name cmd plist-get :name capitalize symbol-name intern format "sql-highlight-%s-keywords" lambda nil "Highlight %s SQL keywords." (interactive) sql-set-product quote vector :style radio :selected eq sql-product] 11]] 24)
#@34 Menu for `sql-interactive-mode'.
(defvar sql-interactive-mode-menu nil (#$ . 32401))
(easy-menu-do-define 'sql-interactive-mode-menu sql-interactive-mode-map "Menu for `sql-interactive-mode'." '("SQL" ["Rename Buffer" sql-rename-buffer t] ["Save Connection" sql-save-connection (not sql-connection)] "--" ["List all objects" sql-list-all (sql-get-product-feature sql-product :list-all)] ["List table details" sql-list-table (sql-get-product-feature sql-product :list-table)]))
#@61 Abbrev table used in `sql-mode' and `sql-interactive-mode'.
(defvar sql-mode-abbrev-table nil (#$ . 32884))
(byte-code "\204	\301\300\302\"\210\303\304\305\"\207" [sql-mode-abbrev-table define-abbrev-table nil mapc #[(abbrev) "@A\303\304\305\217*\207" [abbrev expansion name nil (byte-code "\303	\n\304\305\306&\207" [sql-mode-abbrev-table name expansion define-abbrev nil 0 t] 7) ((error (define-abbrev sql-mode-abbrev-table name expansion)))] 3] (("ins" . "insert") ("upd" . "update") ("del" . "delete") ("sel" . "select") ("proc" . "procedure") ("func" . "function") ("cr" . "create"))] 3)
#@61 Syntax table used in `sql-mode' and `sql-interactive-mode'.
(defvar sql-mode-syntax-table (byte-code "\302 \303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\313#\210\303\315\316#\210\303\317\320#\210\321\322\323\324	\325\")\"\210)\207" [table string make-syntax-table modify-syntax-entry 47 ". 14" 42 ". 23" 45 ". 12b" 10 "> b" 12 39 "\"" 34 "." mapc #[(c) "\302\303	#\207" [c table modify-syntax-entry "."] 4] "!#$%&+,.:;<=>?@\\|" append nil] 5) (#$ . 33491))
#@188 Pattern to match the names of top-level objects.

The pattern matches the name in a CREATE, DROP or ALTER
statement.  The format of variable should be a valid
`font-lock-keywords' entry.
(defvar sql-mode-font-lock-object-name '("^\\s-*\\(?:create\\|drop\\|alter\\)\\s-+\\(?:\\w+\\s-+\\)*\\(?:table\\|view\\|\\(?:package\\|type\\)\\(?:\\s-+body\\)?\\|proc\\(?:edure\\)?\\|function\\|trigger\\|sequence\\|rule\\|default\\)\\s-+\\(\\w+\\)" 1 font-lock-function-name-face) (#$ . 33997))
#@52 Generation of regexp matching any one of KEYWORDS.
(defalias 'sql-font-lock-keywords-builder #[(face boundaries &rest keywords) "\206\305\306\n@\307	\310\"\nAQ\f*B\207" [boundaries kwd bdy keywords face ("\\b" . "\\b") nil regexp-opt t] 4 (#$ . 34486)])
(defalias 'sql-regexp-abbrev #[(keyword) "\306\307\"G\310\311\211\211\204\202<\312
O\313
\\
T	\fX\2039\n
	OQ\314	T\211\202#\n\315P-\207" [keyword i re sep len brk string-match "[~]" "\\(?:" nil 0 2 "\\|" "\\)?"] 6])
(defalias 'sql-regexp-abbrev-list #[(&rest keyw-list) "\303\304\n\203	\305\n@!Q\306\nA\211\204	\307P*\207" [sep re keyw-list nil "\\<\\(?:" sql-regexp-abbrev "\\|" "\\)\\>"] 5])
#@350 ANSI SQL keywords used by font-lock.

This variable is used by `sql-mode' and `sql-interactive-mode'.  The
regular expressions are created during compilation by calling the
function `regexp-opt'.  Therefore, take a look at the source before
you define your own `sql-mode-ansi-font-lock-keywords'.  You may want
to add functions and PL/SQL keywords.
(defvar sql-mode-ansi-font-lock-keywords '(("\\b\\(a\\(?:da\\|s\\(?:ensitive\\|signment\\|ymmetric\\)\\|tomic\\)\\|b\\(?:etween\\|itvar\\)\\|c\\(?:a\\(?:lled\\|talog_name\\)\\|h\\(?:a\\(?:in\\|racter_set_\\(?:catalog\\|name\\|schema\\)\\)\\|ecked\\)\\|lass_origin\\|o\\(?:bol\\|l\\(?:lation_\\(?:catalog\\|name\\|schema\\)\\|umn_name\\)\\|mm\\(?:and_function\\(?:_code\\)?\\|itted\\)\\|n\\(?:dition_number\\|nection_name\\|straint_\\(?:catalog\\|name\\|schema\\)\\|tains\\)\\)\\|ursor_name\\)\\|d\\(?:atetime_interval_\\(?:code\\|precision\\)\\|efine[dr]\\|ispatch\\|ynamic_function\\(?:_code\\)?\\)\\|exist\\(?:ing\\|s\\)\\|f\\(?:inal\\|ortran\\)\\|g\\(?:\\(?:enera\\|ran\\)ted\\)\\|h\\(?:ierarchy\\|old\\)\\|i\\(?:mplementation\\|n\\(?:fix\\|s\\(?:\\(?:ensitiv\\|tan\\(?:c\\|tiabl\\)\\)e\\)\\|voker\\)\\)\\|key_\\(?:member\\|type\\)\\|length\\|m\\(?:e\\(?:ssage_\\(?:length\\|octet_length\\|text\\)\\|thod\\)\\|ore\\|umps\\)?\\|n\\(?:ame\\|u\\(?:llable\\|mber\\)\\)\\|o\\(?:ptions\\|ver\\(?:laps\\|riding\\)\\)\\|p\\(?:a\\(?:rameter_\\(?:mode\\|name\\|ordinal_position\\|specific_\\(?:catalog\\|name\\|schema\\)\\)\\|scal\\)\\|li\\|osition\\)\\|r\\(?:e\\(?:peatable\\|turned_\\(?:length\\|octet_length\\|sqlstate\\)\\)\\|o\\(?:utine_\\(?:catalog\\|name\\|schema\\)\\|w_count\\)\\)\\|s\\(?:c\\(?:\\(?:al\\|hema_nam\\)e\\)\\|e\\(?:curity\\|lf\\|\\(?:nsitiv\\|r\\(?:ializabl\\|ver_nam\\)\\)e\\)\\|im\\(?:ilar\\|ple\\)\\|ource\\|pecific_name\\|tyle\\|ub\\(?:class_origin\\|list\\)\\|y\\(?:mmetric\\|stem\\)\\)\\|t\\(?:able_name\\|r\\(?:ans\\(?:action\\(?:_active\\|s_\\(?:committed\\|rolled_back\\)\\)\\|forms?\\)\\|igger_\\(?:catalog\\|name\\|schema\\)\\)\\|ype\\)\\|u\\(?:n\\(?:\\(?:committ\\|nam\\)ed\\)\\|ser_defined_type_\\(?:catalog\\|name\\|schema\\)\\)\\)\\b" . font-lock-keyword-face) ("\\b\\(a\\(?:bsolute\\|ction\\|d\\(?:d\\|min\\)\\|fter\\|ggregate\\|l\\(?:ias\\|l\\(?:ocate\\)?\\|ter\\)\\|n[dy]\\|re\\|s\\(?:c\\|sertion\\)\\|uthorization\\|[st]\\)\\|b\\(?:e\\(?:fore\\|gin\\)\\|oth\\|readth\\|y\\)\\|c\\(?:a\\(?:ll\\|s\\(?:caded?\\|e\\)\\|talog\\)\\|heck\\|l\\(?:ass\\|ose\\)\\|o\\(?:l\\(?:lat\\(?:e\\|ion\\)\\|umn\\)\\|m\\(?:mit\\|pletion\\)\\|n\\(?:nect\\(?:ion\\)?\\|str\\(?:aints?\\|uctor\\)\\|tinue\\)\\|rresponding\\)\\|r\\(?:eate\\|oss\\)\\|u\\(?:be\\|r\\(?:rent\\|sor\\)\\)\\|ycle\\)\\|d\\(?:a\\(?:ta\\|y\\)\\|e\\(?:allocate\\|clare\\|f\\(?:ault\\|err\\(?:able\\|ed\\)\\)\\|lete\\|pth\\|ref\\|s\\(?:c\\(?:ri\\(?:be\\|ptor\\)\\)?\\|tr\\(?:oy\\|uctor\\)\\)\\|terministic\\)\\|i\\(?:agnostics\\|ctionary\\|s\\(?:\\(?:conne\\|tin\\)ct\\)\\)\\|omain\\|rop\\|ynamic\\)\\|e\\(?:ach\\|lse\\|nd\\|quals\\|scape\\|very\\|x\\(?:cept\\(?:ion\\)?\\|ec\\(?:ute\\)?\\|ternal\\)\\)\\|f\\(?:alse\\|etch\\|irst\\|o\\(?:r\\(?:eign\\)?\\|und\\)\\|r\\(?:ee\\|om\\)\\|u\\(?:ll\\|nction\\)\\)\\|g\\(?:e\\(?:neral\\|t\\)\\|lobal\\|o\\(?:to\\)?\\|r\\(?:ant\\|oup\\(?:ing\\)?\\)\\)\\|h\\(?:aving\\|o\\(?:st\\|ur\\)\\)\\|i\\(?:dentity\\|gnore\\|mmediate\\|n\\(?:dicator\\|itial\\(?:ize\\|ly\\)\\|ner\\|out\\|put\\|sert\\|t\\(?:ersect\\|o\\)\\)\\|solation\\|terate\\|[ns]\\)\\|join\\|key\\|l\\(?:a\\(?:nguage\\|st\\|teral\\)\\|e\\(?:ading\\|ft\\|ss\\|vel\\)\\|i\\(?:ke\\|mit\\)\\|oca\\(?:l\\|tor\\)\\)\\|m\\(?:a\\(?:p\\|tch\\)\\|inute\\|o\\(?:d\\(?:if\\(?:ies\\|y\\)\\|ule\\)\\|nth\\)\\)\\|n\\(?:a\\(?:mes\\|tural\\)\\|e\\(?:w\\|xt\\)\\|o\\(?:ne\\|t\\)?\\|ull\\)\\|o\\(?:ff\\|ld\\|nly\\|p\\(?:\\(?:e\\(?:ratio\\)?\\|tio\\)n\\)\\|rd\\(?:er\\|inality\\)\\|ut\\(?:er\\|put\\)?\\|[fnr]\\)\\|p\\(?:a\\(?:d\\|r\\(?:ameters?\\|tial\\)\\|th\\)\\|ostfix\\|r\\(?:e\\(?:fix\\|order\\|\\(?:par\\|serv\\)e\\)\\|i\\(?:mary\\|or\\|vileges\\)\\|ocedure\\)\\|ublic\\)\\|r\\(?:e\\(?:ads?\\|cursive\\|ferenc\\(?:es\\|ing\\)\\|lative\\|s\\(?:\\(?:tric\\|ul\\)t\\)\\|turns?\\|voke\\)\\|ight\\|o\\(?:l\\(?:e\\|l\\(?:back\\|up\\)\\)\\|utine\\|ws\\)\\)\\|s\\(?:avepoint\\|c\\(?:hema\\|roll\\)\\|e\\(?:arch\\|c\\(?:ond\\|tion\\)\\|lect\\|quence\\|ssion\\|ts?\\)\\|ize\\|ome\\|p\\(?:ace\\|ecific\\(?:type\\)?\\)\\|ql\\(?:exception\\|state\\|warning\\)?\\|t\\(?:a\\(?:rt\\|t\\(?:e\\(?:ment\\)?\\|ic\\)\\)\\|ructure\\)\\)\\|t\\(?:able\\|e\\(?:mporary\\|rminate\\)\\|h\\(?:[ae]n\\)\\|imezone_\\(?:hour\\|minute\\)\\|o\\|r\\(?:a\\(?:iling\\|ns\\(?:\\(?:ac\\|la\\)tion\\)\\)\\|igger\\|ue\\)\\)\\|u\\(?:n\\(?:der\\|i\\(?:on\\|que\\)\\|known\\|nest\\)\\|pdate\\|s\\(?:age\\|ing\\)\\)\\|v\\(?:a\\(?:lues?\\|riable\\)\\|iew\\)\\|w\\(?:he\\(?:n\\(?:ever\\)?\\|re\\)\\|ith\\(?:out\\)?\\|ork\\|rite\\)\\|year\\)\\b" . font-lock-keyword-face) ("\\b\\(a\\(?:bs\\|vg\\)\\|bit_length\\|c\\(?:a\\(?:rdinality\\|st\\)\\|har\\(?:\\(?:acter\\)?_length\\)\\|o\\(?:alesce\\|\\(?:nver\\|un\\)t\\)\\|urrent_\\(?:date\\|path\\|role\\|time\\(?:stamp\\)?\\|user\\)\\)\\|extract\\|lo\\(?:caltime\\(?:stamp\\)?\\|wer\\)\\|m\\(?:ax\\|in\\|od\\)\\|nullif\\|o\\(?:ctet_length\\|verlay\\)\\|placing\\|s\\(?:ession_user\\|u\\(?:bstring\\|m\\)\\|ystem_user\\)\\|tr\\(?:anslate\\|eat\\|im\\)\\|u\\(?:\\(?:pp\\|s\\)er\\)\\)\\b" . font-lock-builtin-face) ("\\b\\(array\\|b\\(?:i\\(?:nary\\|t\\)\\|lob\\|oolean\\)\\|c\\(?:har\\(?:acter\\)?\\|lob\\)\\|d\\(?:ate\\|ec\\(?:imal\\)?\\|ouble\\)\\|float\\|int\\(?:e\\(?:ger\\|rval\\)\\)?\\|large\\|n\\(?:ational\\|c\\(?:har\\|lob\\)\\|umeric\\)\\|object\\|precision\\|r\\(?:e\\(?:al\\|f\\)\\|ow\\)\\|s\\(?:cope\\|mallint\\)\\|time\\(?:stamp\\)?\\|var\\(?:char\\|ying\\)\\|zone\\)\\b" . font-lock-type-face)) (#$ . 35180))
(defalias 'sql-oracle-show-reserved-words #[nil "\303\304!\204\f\303\305!\203\203	\306=\204\307\310!\207\311\312\n\313\314\211%\210r\nq\210\315\301!\210\306\316\317\314\"\210\320\321!*\207" [sql-buffer sql-product b derived-mode-p sql-mode sql-interactive-mode oracle error "Not an Oracle buffer" "*RESERVED WORDS*" sql-execute "SELECT   keyword , reserved AS \"Res\" , res_type AS \"Type\" , res_attr AS \"Attr\" , res_semi AS \"Semi\" , duplicate AS \"Dup\" FROM V$RESERVED_WORDS WHERE length > 1 AND SUBSTR(keyword, 1, 1) BETWEEN 'A' AND 'Z' ORDER BY 2 DESC, 3 DESC, 4 DESC, 5 DESC, 6 DESC, 1;" nil make-local-variable sql-product-font-lock t font-lock-mode 1] 6 nil nil])
#@354 Oracle SQL keywords used by font-lock.

This variable is used by `sql-mode' and `sql-interactive-mode'.  The
regular expressions are created during compilation by calling the
function `regexp-opt'.  Therefore, take a look at the source before
you define your own `sql-mode-oracle-font-lock-keywords'.  You may want
to add functions and PL/SQL keywords.
(defvar sql-mode-oracle-font-lock-keywords '("\\|" ("^rem\\(?:a\\|ar\\|ark\\)?\\(?:\\s-.*\\)?$" 0 font-lock-comment-face t) ("^\\(?:\\<\\(?:[@]\\{1,2\\}\\|acc\\(?:e\\|ep\\|ept\\)?\\|a\\(?:p\\|pp\\|ppe\\|ppen\\|ppend\\)?\\|archive\\|attribute\\|bre\\(?:a\\|ak\\)?\\|bti\\(?:t\\|tl\\|tle\\)?\\|c\\(?:h\\|ha\\|han\\|hang\\|hange\\)?\\|cl\\(?:e\\|ea\\|ear\\)?\\|col\\(?:u\\|um\\|umn\\)?\\|conn\\(?:e\\|ec\\|ect\\)?\\|copy\\|def\\(?:i\\|in\\|ine\\)?\\|del\\|desc\\(?:r\\|ri\\|rib\\|ribe\\)?\\|disc\\(?:o\\|on\\|onn\\|onne\\|onnec\\|onnect\\)?\\|ed\\(?:i\\|it\\)?\\|exec\\(?:u\\|ut\\|ute\\)?\\|exit\\|get\\|help\\|ho\\(?:s\\|st\\)?\\|[$]\\|i\\(?:n\\|np\\|npu\\|nput\\)?\\|l\\(?:i\\|is\\|ist\\)?\\|passw\\(?:o\\|or\\|ord\\)?\\|pau\\(?:s\\|se\\)?\\|pri\\(?:n\\|nt\\)?\\|pro\\(?:m\\|mp\\|mpt\\)?\\|quit\\|recover\\|repf\\(?:o\\|oo\\|oot\\|oote\\|ooter\\)?\\|reph\\(?:e\\|ea\\|ead\\|eade\\|eader\\)?\\|r\\(?:u\\|un\\)?\\|sav\\(?:e\\)?\\|sho\\(?:w\\)?\\|shutdown\\|spo\\(?:o\\|ol\\)?\\|sta\\(?:r\\|rt\\)?\\|startup\\|store\\|tim\\(?:i\\|in\\|ing\\)?\\|tti\\(?:t\\|tl\\|tle\\)?\\|undef\\(?:i\\|in\\|ine\\)?\\|var\\(?:i\\|ia\\|iab\\|iabl\\|iable\\)?\\|whenever\\)\\>\\|\\(?:comp\\(?:u\\|ut\\|ute\\)?\\s-+\\<\\(?:avg\\|cou\\(?:n\\|nt\\)?\\|min\\(?:i\\|im\\|imu\\|imum\\)?\\|max\\(?:i\\|im\\|imu\\|imum\\)?\\|num\\(?:b\\|be\\|ber\\)?\\|sum\\|std\\|var\\(?:i\\|ia\\|ian\\|ianc\\|iance\\)?\\)\\>\\)\\|\\(?:set\\s-+\\<\\(?:appi\\(?:n\\|nf\\|nfo\\)?\\|array\\(?:s\\|si\\|siz\\|size\\)?\\|auto\\(?:c\\|co\\|com\\|comm\\|commi\\|commit\\)?\\|autop\\(?:r\\|ri\\|rin\\|rint\\)?\\|autorecovery\\|autot\\(?:r\\|ra\\|rac\\|race\\)?\\|blo\\(?:c\\|ck\\|ckt\\|ckte\\|ckter\\|ckterm\\|cktermi\\|cktermin\\|cktermina\\|ckterminat\\|ckterminato\\|ckterminator\\)?\\|cmds\\(?:e\\|ep\\)?\\|colsep\\|com\\(?:p\\|pa\\|pat\\|pati\\|patib\\|patibi\\|patibil\\|patibili\\|patibilit\\|patibility\\)?\\|con\\(?:c\\|ca\\|cat\\)?\\|copyc\\(?:o\\|om\\|omm\\|ommi\\|ommit\\)?\\|copytypecheck\\|def\\(?:i\\|in\\|ine\\)?\\|describe\\|echo\\|editf\\(?:i\\|il\\|ile\\)?\\|emb\\(?:e\\|ed\\|edd\\|edde\\|edded\\)?\\|esc\\(?:a\\|ap\\|ape\\)?\\|feed\\(?:b\\|ba\\|bac\\|back\\)?\\|flagger\\|flu\\(?:s\\|sh\\)?\\|hea\\(?:d\\|di\\|din\\|ding\\)?\\|heads\\(?:e\\|ep\\)?\\|instance\\|lin\\(?:e\\|es\\|esi\\|esiz\\|esize\\)?\\|lobof\\(?:f\\|fs\\|fse\\|fset\\)?\\|long\\|longc\\(?:h\\|hu\\|hun\\|hunk\\|hunks\\|hunksi\\|hunksiz\\|hunksize\\)?\\|mark\\(?:u\\|up\\)?\\|newp\\(?:a\\|ag\\|age\\)?\\|null\\|numf\\(?:o\\|or\\|orm\\|orma\\|ormat\\)?\\|num\\(?:w\\|wi\\|wid\\|widt\\|width\\)?\\|pages\\(?:i\\|iz\\|ize\\)?\\|pau\\(?:s\\|se\\)?\\|recsep\\|recsepchar\\|scan\\|serverout\\(?:p\\|pu\\|put\\)?\\|shift\\(?:i\\|in\\|ino\\|inou\\|inout\\)?\\|show\\(?:m\\|mo\\|mod\\|mode\\)?\\|sqlbl\\(?:a\\|an\\|ank\\|ankl\\|ankli\\|anklin\\|ankline\\|anklines\\)?\\|sqlc\\(?:a\\|as\\|ase\\)?\\|sqlco\\(?:n\\|nt\\|nti\\|ntin\\|ntinu\\|ntinue\\)?\\|sqln\\(?:u\\|um\\|umb\\|umbe\\|umber\\)?\\|sqlpluscompat\\(?:i\\|ib\\|ibi\\|ibil\\|ibili\\|ibilit\\|ibility\\)?\\|sqlpre\\(?:f\\|fi\\|fix\\)?\\|sqlp\\(?:r\\|ro\\|rom\\|romp\\|rompt\\)?\\|sqlt\\(?:e\\|er\\|erm\\|ermi\\|ermin\\|ermina\\|erminat\\|erminato\\|erminator\\)?\\|suf\\(?:f\\|fi\\|fix\\)?\\|tab\\|term\\(?:o\\|ou\\|out\\)?\\|ti\\(?:m\\|me\\)?\\|timi\\(?:n\\|ng\\)?\\|trim\\(?:o\\|ou\\|out\\)?\\|trims\\(?:p\\|po\\|poo\\|pool\\)?\\|und\\(?:e\\|er\\|erl\\|erli\\|erlin\\|erline\\)?\\|ver\\(?:i\\|if\\|ify\\)?\\|wra\\(?:p\\)?\\)\\>\\)\\)\\(?:\\s-.*\\)?\\(?:[-]\n.*\\)*$" 0 font-lock-doc-face t) ("\\b\\(a\\(?:bs\\|cos\\|dd_months\\|ppendchildxml\\|s\\(?:cii\\(?:str\\)?\\|in\\)\\|tan2?\\|vg\\)\\|b\\(?:filename\\|i\\(?:n_to_num\\|tand\\)\\)\\|c\\(?:a\\(?:rdinality\\|st\\)\\|eil\\|h\\(?:artorowid\\|r\\)\\|luster_\\(?:id\\|probability\\|set\\)\\|o\\(?:alesce\\|llect\\|mpose\\|n\\(?:cat\\|nect_by_\\(?:is\\(?:cycle\\|leaf\\)\\|root\\)\\|vert\\)\\|rr\\(?:_[ks]\\)?\\|sh?\\|unt\\|var_\\(?:\\(?:po\\|sam\\)p\\)\\)\\|u\\(?:be_table\\|me_dist\\|rrent_\\(?:date\\|timestamp\\)\\)\\|v\\)\\|d\\(?:ataobj_to_partition\\|btimezone\\|e\\(?:co\\(?:\\(?:d\\|mpos\\)e\\)\\|letexml\\|nse_rank\\|pth\\|ref\\)\\|ump\\)\\|e\\(?:mpty_\\(?:[bc]lob\\)\\|x\\(?:istsnode\\|p\\|tract\\(?:value\\)?\\)\\)\\|f\\(?:eature_\\(?:id\\|set\\|value\\)\\|irst\\(?:_value\\)?\\|loor\\|rom_tz\\)\\|gr\\(?:eatest\\|oup\\(?:_id\\|ing\\(?:_id\\)?\\)\\)\\|hextoraw\\|i\\(?:n\\(?:itcap\\|s\\(?:ert\\(?:childxml\\(?:after\\|before\\)?\\|xml\\(?:after\\|before\\)\\)\\|tr[24bc]?\\)\\)\\|teration_number\\)\\|l\\(?:a\\(?:g\\|st\\(?:_\\(?:day\\|value\\)\\)?\\)\\|e\\(?:a\\(?:d\\|st\\)\\|ngth[24bc]?\\)\\|istagg\\|n\\(?:nvl\\)?\\|o\\(?:caltimestamp\\|g\\|wer\\)\\|pad\\|trim\\)\\|m\\(?:a\\(?:ke_ref\\|x\\)\\|edian\\|in\\|o\\(?:d\\|nths_between\\)\\)\\|n\\(?:anvl\\|chr\\|e\\(?:w_time\\|xt_day\\)\\|ls\\(?:_\\(?:charset_\\(?:decl_len\\|id\\|name\\)\\|initcap\\|\\(?:low\\|upp\\)er\\)\\|sort\\)\\|t\\(?:\\(?:h_valu\\|il\\)e\\)\\|u\\(?:llif\\|mto\\(?:\\(?:ds\\|ym\\)interval\\)\\)\\|vl2?\\)\\|ora_\\(?:dst_\\(?:affected\\|convert\\|error\\)\\|hash\\)\\|p\\(?:ath\\|ercent\\(?:_rank\\|ile_\\(?:cont\\|disc\\)\\)\\|ower\\(?:multiset\\(?:_by_cardinality\\)?\\)?\\|re\\(?:diction\\(?:_\\(?:bounds\\|cost\\|details\\|probability\\|set\\)\\)?\\|sent\\(?:\\(?:nn\\)?v\\)\\|vious\\)\\)\\|r\\(?:a\\(?:nk\\|tio_to_report\\|wto\\(?:n?hex\\)\\)\\|e\\(?:f\\(?:tohex\\)?\\|g\\(?:exp_\\(?:count\\|instr\\|replace\\|substr\\)\\|r_\\(?:avg[xy]\\|count\\|intercept\\|r2\\|s\\(?:lope\\|x[xy]\\|yy\\)\\)\\)\\|mainder\\|place\\)\\|o\\(?:und\\|w\\(?:\\(?:_numbe\\|idto\\(?:n?cha\\)\\)r\\)\\)\\|pad\\|trim\\)\\|s\\(?:cn_to_timestamp\\|e\\(?:ssiontimezone\\|t\\)\\|i\\(?:gn\\|nh?\\)\\|oundex\\|qrt\\|t\\(?:ats_\\(?:binomial_test\\|crosstab\\|f_test\\|ks_test\\|m\\(?:ode\\|w_test\\)\\|one_way_anova\\|t_test_\\(?:indepu?\\|one\\|paired\\)\\|wsr_test\\)\\|ddev\\(?:_\\(?:\\(?:po\\|sam\\)p\\)\\)?\\)\\|u\\(?:bstr[24bc]?\\|m\\)\\|ys\\(?:_\\(?:con\\(?:nect_by_path\\|text\\)\\|dburigen\\|extract_utc\\|guid\\|typeid\\|xml\\(?:agg\\|gen\\)\\)\\|date\\|timestamp\\)\\)\\|t\\(?:anh?\\|imestamp_to_scn\\|o_\\(?:b\\(?:inary_\\(?:double\\|float\\)\\|lob\\)\\|c\\(?:har\\|lob\\)\\|d\\(?:ate\\|sinterval\\)\\|lob\\|multi_byte\\|n\\(?:c\\(?:har\\|lob\\)\\|umber\\)\\|single_byte\\|timestamp\\(?:_tz\\)?\\|yminterval\\)\\|r\\(?:anslate\\|eat\\|im\\|unc\\)\\|z_offset\\)\\|u\\(?:id\\|nistr\\|p\\(?:datexml\\|per\\)\\|ser\\(?:env\\)?\\)\\|v\\(?:a\\(?:lue\\|r\\(?:_\\(?:\\(?:po\\|sam\\)p\\)\\|iance\\)\\)\\|size\\)\\|width_bucket\\|xml\\(?:agg\\|c\\(?:ast\\|data\\|o\\(?:lattval\\|\\(?:mmen\\|nca\\)t\\)\\)\\|diff\\|e\\(?:lement\\|xists\\)\\|forest\\|isvalid\\|p\\(?:a\\(?:rse\\|tch\\)\\|i\\)\\|query\\|root\\|se\\(?:\\(?:quenc\\|rializ\\)e\\)\\|t\\(?:able\\|ransform\\)\\)\\)\\b" . font-lock-builtin-face) ("\\b\\(a\\(?:bort\\|c\\(?:c\\(?:ess\\(?:ed\\)?\\|ount\\)\\|tivate\\)\\|d\\(?:d\\|min\\|vise\\)\\|fter\\|g\\(?:ent\\|gregate\\)\\|l\\(?:l\\(?:o\\(?:cate\\|w\\)\\)?\\|ter\\|ways\\)\\|n\\(?:alyze\\|cillary\\|[dy]\\)\\|pply\\|r\\(?:chive\\(?:log\\)?\\|ray\\)\\|s\\(?:c\\|sociate\\)\\|ttributes?\\|u\\(?:dit\\|t\\(?:h\\(?:enticated\\|id\\|orization\\)\\|o\\(?:allocate\\|matic\\)?\\)\\)\\|vailability\\|[st]\\)\\|b\\(?:ackup\\|e\\(?:fore\\|gin\\|half\\|tween\\)\\|i\\(?:nding\\|tmap\\)\\|lock\\(?:size\\)?\\|o\\(?:dy\\|th\\)\\|u\\(?:ffer_pool\\|ild\\)\\|y\\)\\|c\\(?:a\\(?:che\\|ll\\|ncel\\|s\\(?:\\(?:cad\\)?e\\)\\|tegory\\)\\|ertificate\\|h\\(?:a\\(?:ined\\|nge\\)\\|eck\\(?:point\\)?\\|ild\\|unk\\)\\|l\\(?:ass\\|ear\\|o\\(?:[ns]e\\)\\|uster\\)\\|o\\(?:lumn\\(?:_value\\|s\\)?\\|m\\(?:m\\(?:ent\\|it\\(?:ted\\)?\\)\\|p\\(?:atibility\\|ile\\|lete\\|osite_limit\\|ress\\|ute\\)\\)\\|n\\(?:nect\\(?:_time\\)?\\|s\\(?:i\\(?:der\\|stent\\)\\|tr\\(?:aints?\\|uctor\\)\\)\\|t\\(?:e\\(?:nts\\|xt\\)\\|\\(?:inu\\|rolfil\\)e\\)\\)\\|rruption\\|st\\)\\|pu_per_\\(?:call\\|session\\)\\|r\\(?:eate\\|oss\\)\\|u\\(?:be\\|rr\\(?:ent\\|val\\)\\)\\|ycle\\)\\|d\\(?:a\\(?:ngling\\|ta\\(?:base\\|files?\\)?\\|y\\)\\|dl\\|e\\(?:allocate\\|bug\\|f\\(?:ault\\|err\\(?:able\\|ed\\)\\|iner\\)\\|l\\(?:ay\\|ete\\)\\|mand\\|sc\\|termin\\(?:es\\|istic\\)\\)\\|i\\(?:ctionary\\|mension\\|rectory\\|s\\(?:a\\(?:\\(?:bl\\|ssociat\\)e\\)\\|connect\\|t\\(?:in\\(?:ct\\|guished\\)\\|ributed\\)\\)\\)\\|ml\\|rop\\)\\|e\\(?:ach\\|l\\(?:ement\\|se\\)\\|n\\(?:able\\|d\\)\\|quals_path\\|s\\(?:\\(?:cap\\|timat\\)e\\)\\|x\\(?:c\\(?:ept\\(?:ions\\)?\\|hange\\|luding\\)\\|ists\\|p\\(?:ire\\|lain\\)\\|te\\(?:nt\\|rnal\\(?:ly\\)?\\)\\)\\)\\|f\\(?:a\\(?:iled_login_attempts\\|st\\)\\|i\\(?:le\\|n\\(?:al\\|ish\\)\\)\\|lush\\|or\\(?:ce\\|eign\\)?\\|r\\(?:e\\(?:e\\(?:lists?\\|pools\\)\\|sh\\)\\|om\\)\\|u\\(?:ll\\|nctions?\\)\\)\\|g\\(?:enerated\\|lobal\\(?:_name\\|ly\\)?\\|r\\(?:ant\\|oup\\(?:ing\\|s\\)?\\)\\|uard\\)\\|h\\(?:a\\(?:sh\\(?:keys\\)?\\|ving\\)\\|eap\\|ierarchy\\)\\|i\\(?:d\\(?:entifie[dr]\\|le_time\\)\\|mmediate\\|n\\(?:c\\(?:luding\\|rement\\)\\|d\\(?:ex\\(?:e[ds]\\|types?\\)?\\|icator\\)\\|it\\(?:ial\\(?:ized\\|ly\\)?\\|rans\\)\\|ner\\|s\\(?:ert\\|t\\(?:an\\(?:\\(?:c\\|tiabl\\)e\\)\\|ead\\)\\)\\|t\\(?:ersect\\|o\\)\\|validate\\)\\|solation\\|[dns]\\)\\|j\\(?:ava\\|oin\\)\\|k\\(?:e\\(?:ep\\|y\\)\\|ill\\)\\|l\\(?:anguage\\|e\\(?:ft\\|ss\\|vels?\\)\\|i\\(?:brary\\|ke[24c]?\\|mit\\|nk\\|st\\)\\|o\\(?:c\\(?:a\\(?:l\\|t\\(?:ion\\|or\\)\\)\\|k\\)\\|g\\(?:file\\|ging\\|ical\\(?:_reads_per_\\(?:call\\|session\\)\\)?\\)\\|[bg]\\)\\)\\|m\\(?:a\\(?:n\\(?:age\\(?:d\\|ment\\)\\|ual\\)\\|p\\(?:ping\\)?\\|ster\\|t\\(?:\\(?:ch\\|erializ\\)ed\\)\\|x\\(?:datafiles\\|extents\\|i\\(?:mize\\|nstances\\)\\|log\\(?:files\\|history\\|members\\)\\|size\\|trans\\|value\\)\\)\\|e\\(?:m\\(?:ber\\|ory\\)\\|rge\\)\\|i\\(?:grate\\|n\\(?:extents\\|im\\(?:ize\\|um\\)\\|us\\|value\\)\\)\\|o\\(?:d\\(?:e\\|ify\\)\\|n\\(?:itoring\\|th\\)\\|unt\\|ve\\(?:ment\\)?\\)\\)\\|n\\(?:a\\(?:med?\\|tural\\)\\|e\\(?:sted\\|ver\\|w\\|xt\\(?:val\\)?\\)\\|o\\(?:a\\(?:rchivelog\\|udit\\)\\|c\\(?:ache\\|o\\(?:mpress\\|py\\)\\|ycle\\)\\|delay\\|force\\|logging\\|m\\(?:a\\(?:pping\\|xvalue\\)\\|in\\(?:\\(?:imiz\\|valu\\)e\\)\\|onitoring\\)\\|ne\\|order\\|parallel\\|r\\(?:e\\(?:ly\\|setlogs\\|verse\\)\\|mal\\|owdependencies\\)\\|s\\(?:ort\\|witch\\)\\|t\\(?:hing\\|imeout\\)?\\|validate\\|wait\\)?\\|ulls?\\)\\|o\\(?:bject\\|ff\\(?:line\\)?\\|idindex\\|ld\\|nl\\(?:ine\\|y\\)\\|p\\(?:e\\(?:n\\|rator\\)\\|ti\\(?:mal\\|on\\)\\)\\|r\\(?:der\\|ganization\\)\\|ut\\(?:er\\|line\\)?\\|ver\\(?:flow\\|riding\\)\\|[fnr]\\)\\|p\\(?:a\\(?:ckages?\\|r\\(?:a\\(?:llel\\(?:_enable\\)?\\|meters\\)\\|ent\\|titions?\\)\\|ssword\\(?:_\\(?:grace_time\\|l\\(?:\\(?:ife\\|ock\\)_time\\)\\|reuse_\\(?:max\\|time\\)\\|verify_function\\)\\)?\\)\\|ct\\(?:free\\|increase\\|threshold\\|used\\|version\\)\\|er\\(?:cent\\|formance\\|manent\\)\\|file\\|hysical\\|ipelined\\|lan\\|ost_transaction\\|r\\(?:agma\\|e\\(?:built\\|serve\\)\\|i\\(?:mary\\|v\\(?:ate\\(?:_sga\\)?\\|ileges\\)\\)\\|o\\(?:cedure\\|file\\|tection\\)\\)\\|u\\(?:blic\\|rge\\)\\)\\|qu\\(?:ery\\|iesce\\|ota\\)\\|r\\(?:ange\\|e\\(?:ads?\\|build\\|c\\(?:o\\(?:rds_per_block\\|very?\\)\\|ycle\\)\\|duced\\|f\\(?:erenc\\(?:es\\|ing\\)\\|resh\\)?\\|gister\\|ject\\|l\\(?:ational\\|y\\)\\|name\\|s\\(?:et\\(?:logs\\)?\\|ize\\|o\\(?:lver?\\|urce\\)\\|trict\\(?:_references\\|ed\\)?\\|u\\(?:lt\\|m\\(?:\\(?:abl\\)?e\\)\\)\\)\\|t\\(?:ention\\|urn\\(?:ing\\)?\\)\\|\\(?:us\\|v\\(?:ers\\|ok\\)\\|writ\\)e\\)\\|ight\\|n\\(?:[dp]s\\)\\|o\\(?:l\\(?:es?\\|l\\(?:back\\|up\\)\\)\\|w\\(?:dependencies\\|num\\|s\\)?\\)\\)\\|s\\(?:a\\(?:mple\\|vepoint\\)\\|c\\(?:an\\|hema\\|n\\|ope\\)\\|e\\(?:gment\\|l\\(?:ect\\(?:ivity\\)?\\|f\\)\\|quence\\|rializable\\|ssion\\(?:s_per_user\\)?\\|t\\(?:\\(?:ting\\)?s\\)?\\)\\|h\\(?:ared\\(?:_pool\\)?\\|rink\\|utdown\\)\\|i\\(?:blings\\|d\\|\\(?:ngl\\|z\\)e\\)\\|kip\\|o\\(?:me\\|rt\\|urce\\)\\|p\\(?:ace\\|ecification\\|file\\|lit\\)\\|t\\(?:a\\(?:ndby\\|rt\\|t\\(?:ement_id\\|i\\(?:c\\|stics\\)\\)\\)\\|o\\(?:p\\|r\\(?:\\(?:ag\\)?e\\)\\)\\|ructure\\)\\|u\\(?:b\\(?:partitions?\\|stitutable\\)\\|ccessful\\|pplemental\\|spend\\)\\|witch\\(?:over\\)?\\|y\\(?:nonym\\|s\\(?:tem\\)?\\)\\)\\|t\\(?:able\\(?:s\\(?:pace\\)?\\)?\\|e\\(?:mp\\(?:file\\|late\\|orary\\)\\|st\\)\\|h\\(?:an\\|en\\|r\\(?:ead\\|ough\\)\\)\\|ime\\(?:_zone\\|out\\)\\|o\\|r\\(?:a\\(?:ce\\|nsaction\\)\\|iggers?\\|u\\(?:ncate\\|st\\)\\)\\|ypes?\\)\\|u\\(?:n\\(?:archived\\|d\\(?:er\\(?:_path\\)?\\|o\\)\\|i\\(?:form\\|on\\|que\\)\\|l\\(?:imited\\|ock\\)\\|quiesce\\|recoverable\\|til\\|us\\(?:able\\|ed\\)\\)\\|p\\(?:\\(?:dat\\|grad\\)e\\)\\|s\\(?:age\\|e\\|ing\\)\\)\\|v\\(?:a\\(?:l\\(?:idat\\(?:e\\|ion\\)\\|ues?\\)\\|r\\(?:iable\\|ray\\)\\)\\|ersion\\|iew\\)\\|w\\(?:ait\\|he\\(?:n\\(?:ever\\)?\\|re\\)\\|ith\\(?:out\\)?\\|n\\(?:[dp]s\\)\\|ork\\|rite\\)\\|xml\\(?:data\\|schema\\|type\\)\\)\\b" . font-lock-keyword-face) ("\\b\\(b\\(?:file\\|inary_\\(?:double\\|float\\)\\|lob\\|yte\\)\\|c\\(?:har\\(?:byte\\)?\\|lob\\)\\|da\\(?:te\\|y\\)\\|float\\|interval\\|lo\\(?:cal\\|ng\\(?:raw\\)?\\)\\|m\\(?:inute\\|onth\\)\\|n\\(?:c\\(?:har\\|lob\\)\\|umber\\|varchar2\\)\\|r\\(?:aw\\|owid\\)\\|second\\|time\\(?:stamp\\)?\\|urowid\\|varchar2\\|with\\|year\\|zone\\)\\b" . font-lock-type-face) ("%\\(bulk_\\(?:exceptions\\|rowcount\\)\\|found\\|isopen\\|notfound\\|row\\(?:count\\|type\\)\\|type\\)\\b" . font-lock-builtin-face) ("\\b\\(count\\|delete\\|ex\\(?:ists\\|tend\\)\\|first\\|l\\(?:\\(?:as\\|imi\\)t\\)\\|next\\|prior\\|trim\\)\\b" . font-lock-builtin-face) ("\\b\\(a\\(?:l\\(?:l\\|ter\\)\\|n[dy]\\|sc\\|[st]\\)\\|b\\(?:e\\(?:\\(?:gi\\|twee\\)n\\)\\|y\\)\\|c\\(?:ase\\|heck\\|lusters?\\|o\\(?:l\\(?:auth\\|umns\\)\\|mpress\\|nnect\\)\\|r\\(?:ash\\|eate\\)\\|ursor\\)\\|d\\(?:e\\(?:clare\\|fault\\|sc\\)\\|istinct\\|rop\\)\\|e\\(?:lse\\|nd\\|xc\\(?:eption\\|lusive\\)\\)\\|f\\(?:alse\\|etch\\|or\\|rom\\|unction\\)\\|g\\(?:oto\\|r\\(?:ant\\|oup\\)\\)\\|having\\|i\\(?:dentified\\|n\\(?:dex\\(?:es\\)?\\|sert\\|t\\(?:ersect\\|o\\)\\)\\|[fns]\\)\\|l\\(?:ike\\|ock\\)\\|m\\(?:inus\\|ode\\)\\|n\\(?:o\\(?:compress\\|\\(?:wai\\)?t\\)\\|ull\\)\\|o\\(?:ption\\|rder\\|verlaps\\|[fnr]\\)\\|p\\(?:rocedure\\|ublic\\)\\|r\\(?:aise_application_error\\|e\\(?:\\(?:sourc\\|vok\\)e\\)\\)\\|s\\(?:elect\\|hare\\|ize\\|ql\\|tart\\|ubtype\\)\\|t\\(?:ab\\(?:auth\\|le\\)\\|hen\\|o\\|\\(?:ru\\|yp\\)e\\)\\|u\\(?:ni\\(?:on\\|que\\)\\|pdate\\)\\|v\\(?:alues\\|iews?\\)\\|w\\(?:he\\(?:n\\|re\\)\\|ith\\)\\)\\b" . font-lock-keyword-face) ("\\b\\(a\\(?:dd\\|g\\(?:ent\\|gregate\\)\\|rray\\|ttribute\\|ut\\(?:hid\\|onomous_transaction\\)\\|vg\\)\\|b\\(?:file_base\\|inary\\|lo\\(?:b_base\\|ck\\)\\|o\\(?:dy\\|th\\|und\\)\\|ulk\\|yte\\)\\|c\\(?:a\\(?:ll\\(?:ing\\)?\\|scade\\)\\|har\\(?:_base\\|acter\\|set\\(?:form\\|id\\)?\\)?\\|lo\\(?:\\(?:b_ba\\)?se\\)\\|o\\(?:llect\\|m\\(?:m\\(?:ent\\|it\\(?:ted\\)?\\)\\|piled\\)\\|n\\(?:st\\(?:ant\\|ructor\\)\\|t\\(?:ext\\|inue\\)\\|vert\\)\\|unt\\)\\|u\\(?:rrent\\|stomdatum\\)\\)\\|d\\(?:a\\(?:ngling\\|t\\(?:e_base\\|[ae]\\)\\|y\\)\\|e\\(?:fine\\|lete\\|terministic\\)\\|ouble\\|uration\\)\\|e\\(?:l\\(?:ement\\|sif\\)\\|mpty\\|scape\\|x\\(?:cept\\(?:ion\\(?:_init\\|s\\)\\)?\\|ecute\\|i\\(?:sts\\|t\\)\\|ternal\\)\\)\\|f\\(?:i\\(?:nal\\|xed\\)\\|loat\\|or\\(?:all\\|ce\\)\\)\\|general\\|h\\(?:ash\\|eap\\|idden\\|our\\)\\|i\\(?:mmediate\\|n\\(?:cluding\\|dic\\(?:ator\\|es\\)\\|finite\\|line\\|stantiable\\|t\\(?:er\\(?:face\\|val\\)\\)?\\|validate\\)\\|solation\\)\\|java\\|l\\(?:a\\(?:\\(?:ngua\\|r\\)ge\\)\\|e\\(?:ading\\|ngth\\|vel\\)\\|i\\(?:brary\\|ke[24c]\\|mit\\(?:ed\\)?\\)\\|o\\(?:cal\\|ng\\|op\\)\\)\\|m\\(?:a\\(?:xlen\\|[px]\\)\\|e\\(?:mber\\|rge\\)\\|in\\(?:ute\\)?\\|o\\(?:d\\(?:ify\\)?\\|nth\\)\\|ultiset\\)\\|n\\(?:a\\(?:me\\|n\\|ti\\(?:onal\\|ve\\)\\)\\|char\\|ew\\|ocopy\\|umber_base\\)\\|o\\(?:bject\\|ci\\(?:coll\\|d\\(?:ate\\(?:time\\)?\\|uration\\)\\|interval\\|loblocator\\|number\\|r\\(?:aw\\|ef\\(?:cursor\\)?\\|owid\\)\\|string\\|type\\)\\|ld\\|nly\\|p\\(?:aque\\|e\\(?:n\\|rator\\)\\)\\|r\\(?:a\\(?:cle\\|data\\)\\|ganization\\|l\\(?:\\(?:an\\|var\\)y\\)\\)\\|thers\\|ut\\|verriding\\)\\|p\\(?:a\\(?:ckage\\|r\\(?:a\\(?:llel_enable\\|meters?\\)\\|ent\\|tition\\)\\|scal\\)\\|ipe\\(?:lined\\)?\\|r\\(?:agma\\|ecision\\|i\\(?:or\\|vate\\)\\)\\)\\|r\\(?:a\\(?:ise\\|nge\\|w\\)\\|e\\(?:ad\\|cord\\|ference\\|lies_on\\|mainder\\|name\\|s\\(?:trict_references\\|ult\\(?:_cache\\)?\\)\\|turn\\(?:ing\\)?\\|verse\\|[fm]\\)\\|o\\(?:llback\\|w\\)\\)\\|s\\(?:a\\(?:mple\\|ve\\(?:point\\)?\\)\\|b[124]\\|e\\(?:cond\\|gment\\|lf\\|parate\\|quence\\|rial\\(?:\\(?:iz\\|ly_reus\\)able\\)\\|t\\)\\|hort\\|ize_t\\|ome\\|parse\\|ql\\(?:code\\|data\\|\\(?:nam\\|stat\\)e\\)\\|t\\(?:a\\(?:ndard\\|tic\\)\\|ddev\\|ored\\|r\\(?:ing\\|uct\\)\\|yle\\)\\|u\\(?:b\\(?:multiset\\|partition\\|stitutable\\)\\|m\\)\\|ynonym\\)\\|t\\(?:do\\|he\\|ime\\(?:stamp\\|zone_\\(?:abbr\\|hour\\|minute\\|region\\)\\)?\\|r\\(?:a\\(?:iling\\|nsaction\\(?:al\\)?\\)\\|usted\\)\\)\\|u\\(?:b[124]\\|n\\(?:der\\|\\(?:sign\\|trust\\)ed\\)\\|s\\(?:e\\|ing\\)\\)\\|v\\(?:a\\(?:l\\(?:ist\\|ue\\)\\|r\\(?:ia\\(?:\\(?:bl\\|nc\\)e\\)\\|ray\\|ying\\)\\)\\|oid\\)\\|w\\(?:hile\\|ork\\|r\\(?:apped\\|ite\\)\\)\\|year\\|zone\\|[ac]\\)\\b" . font-lock-keyword-face) ("\\b\\(\"\\(?:\\(?:BINARY LARGE OBJECT\\|CHAR\\(?: \\(?:LARGE OBJECT\\|VARYING\\)\\|ACTER \\(?:LARGE OBJECT\\|VARYING\\)\\)\\|DOUBLE PRECISION\\|INTERVAL \\(?:DAY TO SECOND\\|YEAR TO MONTH\\)\\|LONG RAW\\|N\\(?:ATIONAL CHAR\\(?:ACTER\\(?: LARGE OBJECT\\)?\\)?\\|C\\(?:HAR\\(?: LARGE OBJECT\\)?\\|LOB\\)\\|VARCHAR2\\)\\|TIME\\(?:\\(?: WITH\\|STAMP WITH\\(?: LOCAL\\)?\\) TIME ZONE\\)\\)\"\\)\\|b\\(?:file\\(?:_base\\)?\\|inary_\\(?:double\\|float\\|integer\\)\\|lob\\(?:_base\\)?\\|oolean\\)\\|c\\(?:har\\(?:_base\\|acter\\)?\\|lob\\(?:_base\\)?\\|ursor\\)\\|d\\(?:a\\(?:te\\|y\\)\\|ec\\(?:imal\\)?\\|sinterval_unconstrained\\)\\|float\\|int\\(?:e\\(?:ger\\|rval\\)\\)?\\|lo\\(?:cal\\|ng\\)\\|m\\(?:lslabel\\|onth\\)\\|n\\(?:aturaln?\\|char_cs\\|um\\(?:ber\\(?:_base\\)?\\|eric\\)\\)\\|p\\(?:ls_integer\\|ositiven?\\)\\|r\\(?:aw\\|e\\(?:al\\|f\\)\\|owid\\)\\|s\\(?:econd\\|i\\(?:gntype\\|mple_\\(?:double\\|float\\|integer\\)\\)\\|mallint\\|tring\\)\\|t\\(?:ime\\(?:_\\(?:\\(?:tz_\\)?unconstrained\\)\\|stamp\\(?:_\\(?:\\(?:l?tz_\\)?unconstrained\\)\\)?\\)?\\|o\\)\\|urowid\\|varchar2?\\|with\\|y\\(?:ear\\|minterval_unconstrained\\)\\|zone\\)\\b" . font-lock-type-face) ("\\b\\(access_into_null\\|c\\(?:ase_not_found\\|ollection_is_null\\|ursor_already_open\\)\\|dup_val_on_index\\|invalid_\\(?:\\(?:curso\\|numbe\\)r\\)\\|login_denied\\|no\\(?:_data_\\(?:\\(?:foun\\|neede\\)d\\)\\|t_logged_on\\)\\|program_error\\|rowtype_mismatch\\|s\\(?:elf_is_null\\|torage_error\\|ubscript_\\(?:\\(?:beyond_coun\\|outside_limi\\)t\\)\\|ys_invalid_rowid\\)\\|t\\(?:imeout_on_resource\\|oo_many_rows\\)\\|value_error\\|zero_divide\\)\\b" . font-lock-warning-face)) (#$ . 41615))
#@306 Postgres SQL keywords used by font-lock.

This variable is used by `sql-mode' and `sql-interactive-mode'.  The
regular expressions are created during compilation by calling the
function `regexp-opt'.  Therefore, take a look at the source before
you define your own `sql-mode-postgres-font-lock-keywords'.
(defvar sql-mode-postgres-font-lock-keywords '(("^\\s-*\\\\.*$" . font-lock-doc-face) ("\\b\\(a\\(?:bs\\(?:ent\\)?\\|ccording\\|da\\|l\\(?:ias\\|locate\\)\\|r\\(?:e\\|ray_agg\\)\\|sensitive\\|t\\(?:omic\\|tributes?\\)\\|vg\\)\\|b\\(?:ase64\\|ernoulli\\|it\\(?:_length\\|var\\)\\|lo\\(?:b\\|cked\\)\\|om\\|readth\\)\\|c\\(?:a\\(?:ll\\|rdinality\\|talog_name\\)\\|eil\\(?:ing\\)?\\|h\\(?:ar\\(?:_length\\|acter\\(?:_\\(?:length\\|set_\\(?:catalog\\|name\\|schema\\)\\)\\|s\\)\\)\\|ecked\\)\\|l\\(?:ass_origin\\|ob\\)\\|o\\(?:bol\\|l\\(?:l\\(?:ation\\(?:_\\(?:catalog\\|name\\|schema\\)\\)?\\|ect\\)\\|umn\\(?:_name\\|s\\)\\)\\|m\\(?:mand_function\\(?:_code\\)?\\|pletion\\)\\|n\\(?:dition\\(?:_number\\)?\\|nect\\(?:ion_name\\)?\\|str\\(?:aint_\\(?:catalog\\|name\\|schema\\)\\|uctor\\)\\|t\\(?:ains\\|rol\\)\\|vert\\)\\|rr\\(?:esponding\\)?\\|unt\\|var_\\(?:\\(?:po\\|sam\\)p\\)\\)\\|u\\(?:be\\|me_dist\\|r\\(?:rent_\\(?:default_transform_group\\|path\\|transform_group_for_type\\)\\|sor_name\\)\\)\\)\\|d\\(?:at\\(?:alink\\|etime_interval_\\(?:code\\|precision\\)\\)\\|b\\|e\\(?:fined\\|gree\\|nse_rank\\|pth\\|r\\(?:ef\\|ived\\)\\|s\\(?:cri\\(?:be\\|ptor\\)\\|tr\\(?:oy\\|uctor\\)\\)\\|terministic\\)\\|i\\(?:agnostics\\|s\\(?:connect\\|patch\\)\\)\\|l\\(?:newcopy\\|previouscopy\\|url\\(?:complete\\(?:only\\|write\\)?\\|path\\(?:only\\|write\\)?\\|s\\(?:cheme\\|erver\\)\\)\\|value\\)\\|ynamic\\(?:_function\\(?:_code\\)?\\)?\\)\\|e\\(?:lement\\|mpty\\|nd-exec\\|quals\\|very\\|x\\(?:ception\\|ec\\|isting\\|p\\)\\)\\|f\\(?:i\\(?:l\\(?:e\\|ter\\)\\|nal\\|rst_value\\)\\|l\\(?:ag\\|oor\\)\\|o\\(?:rtran\\|und\\)\\|ree\\|s\\|usion\\)\\|g\\(?:e\\(?:nera\\(?:l\\|ted\\)\\|t\\)\\|o\\(?:to\\)?\\|rouping\\)\\|h\\(?:ex\\|ierarchy\\|ost\\)\\|i\\(?:d\\|gnore\\|mp\\(?:lementation\\|ort\\)\\|n\\(?:d\\(?:ent\\|icator\\)\\|fix\\|itialize\\|stan\\(?:\\(?:c\\|tiabl\\)e\\)\\|te\\(?:grity\\|rsection\\)\\)\\|terate\\)\\|key_\\(?:member\\|type\\)\\|l\\(?:a\\(?:g\\|st_value\\|teral\\)\\|e\\(?:ad\\|ngth\\|ss\\)\\|i\\(?:brary\\|ke_regex\\|nk\\)\\|n\\|o\\(?:\\(?:cato\\|we\\)r\\)\\)\\|m\\(?:a\\(?:tched\\|x_cardinality\\|[px]\\)\\|e\\(?:mber\\|rge\\|ssage_\\(?:length\\|octet_length\\|text\\)\\|thod\\)\\|in\\|o\\(?:d\\(?:if\\(?:ies\\|y\\)\\|ule\\)?\\|re\\)\\|u\\(?:ltiset\\|mps\\)\\)\\|n\\(?:amespace\\|clob\\|e\\(?:sting\\|w\\)\\|f\\(?:k[cd]\\|[cd]\\)\\|il\\|ormalized?\\|t\\(?:\\(?:h_valu\\|il\\)e\\)\\|u\\(?:llable\\|mber\\)\\)\\|o\\(?:c\\(?:currences_regex\\|tet\\(?:_length\\|s\\)\\)\\|ld\\|pe\\(?:\\(?:ratio\\)?n\\)\\|rd\\(?:ering\\|inality\\)\\|thers\\|utput\\|verriding\\)\\|p\\(?:a\\(?:d\\|rameter\\(?:_\\(?:mode\\|name\\|ordinal_position\\|specific_\\(?:catalog\\|name\\|schema\\)\\)\\|s\\)?\\|s\\(?:cal\\|s\\(?:ing\\|through\\)\\)\\)\\|er\\(?:cent\\(?:_rank\\|ile_\\(?:cont\\|disc\\)\\)\\|mission\\)\\|li\\|o\\(?:s\\(?:\\(?:ition_rege\\|tfi\\)x\\)\\|wer\\)\\|re\\(?:fix\\|order\\)\\|ublic\\)\\|r\\(?:ank\\|e\\(?:ads\\|covery\\|f\\(?:erencing\\)?\\|gr_\\(?:avg[xy]\\|count\\|intercept\\|r2\\|s\\(?:lope\\|x[xy]\\|yy\\)\\)\\|quiring\\|s\\(?:pect\\|tore\\|ult\\)\\|turn\\(?:ed_\\(?:cardinality\\|length\\|octet_length\\|sqlstate\\)\\)?\\)\\|o\\(?:llup\\|utine\\(?:_\\(?:catalog\\|name\\|schema\\)\\)?\\|w_\\(?:count\\|number\\)\\)\\)\\|s\\(?:c\\(?:ale\\|hema_name\\|ope\\(?:_\\(?:catalog\\|name\\|schema\\)\\)?\\)\\|e\\(?:ction\\|l\\(?:ective\\|f\\)\\|nsitive\\|rver_name\\|ts\\)\\|ize\\|ource\\|p\\(?:ace\\|ecific\\(?:\\(?:_nam\\|typ\\)e\\)?\\)\\|q\\(?:l\\(?:code\\|e\\(?:rror\\|xception\\)\\|state\\|warning\\)?\\|rt\\)\\|t\\(?:at\\(?:e\\|ic\\)\\|ddev_\\(?:\\(?:po\\|sam\\)p\\)\\|\\(?:ructur\\|yl\\)e\\)\\|u\\(?:b\\(?:class_origin\\|list\\|multiset\\|string_regex\\)\\|m\\)\\|ystem_user\\)\\|t\\(?:able\\(?:\\(?:_nam\\|sampl\\)e\\)\\|erminate\\|han\\|i\\(?:es\\|mezone_\\(?:hour\\|minute\\)\\)\\|o\\(?:ken\\|p_level_count\\)\\|r\\(?:ans\\(?:action\\(?:_active\\|s_\\(?:committed\\|rolled_back\\)\\)\\|forms?\\|lat\\(?:e\\(?:_regex\\)?\\|ion\\)\\)\\|i\\(?:gger_\\(?:catalog\\|name\\|schema\\)\\|m_array\\)\\)\\)\\|u\\(?:escape\\|n\\(?:der\\|link\\|n\\(?:amed\\|est\\)\\|typed\\)\\|pper\\|ri\\|s\\(?:age\\|er_defined_type_\\(?:c\\(?:atalog\\|ode\\)\\|name\\|schema\\)\\)\\)\\|var\\(?:_\\(?:\\(?:po\\|sam\\)p\\)\\|binary\\|iable\\)\\|w\\(?:henever\\|i\\(?:dth_bucket\\|thin\\)\\)\\|xml\\(?:agg\\|binary\\|c\\(?:\\(?:as\\|ommen\\)t\\)\\|d\\(?:eclaration\\|ocument\\)\\|exists\\|iterate\\|namespaces\\|query\\|schema\\|t\\(?:able\\|ext\\)\\|validate\\)\\|[acgkmpt]\\)\\b" . font-lock-builtin-face) ("\\b\\(a\\(?:b\\(?:ort\\|solute\\)\\|c\\(?:cess\\|tion\\)\\|d\\(?:d\\|min\\)\\|fter\\|ggregate\\|l\\(?:so\\|ter\\|ways\\)\\|ss\\(?:ertion\\|ignment\\)\\|t\\)\\|b\\(?:ackward\\|e\\(?:fore\\|\\(?:gi\\|twee\\)n\\)\\|y\\)\\|c\\(?:a\\(?:che\\|lled\\|scaded?\\|talog\\)\\|h\\(?:a\\(?:in\\|racteristics\\)\\|eckpoint\\)\\|l\\(?:ass\\|ose\\|uster\\)\\|o\\(?:alesce\\|mm\\(?:ents?\\|it\\(?:ted\\)?\\)\\|n\\(?:figuration\\|nection\\|straints\\|t\\(?:ent\\|inue\\)\\|version\\)\\|py\\|st\\)\\|reate\\(?:db\\|role\\|user\\)\\|sv\\|ur\\(?:rent\\|sor\\)\\|ycle\\)\\|d\\(?:a\\(?:ta\\(?:base\\)?\\|y\\)\\|e\\(?:allocate\\|c\\(?:lare\\)?\\|f\\(?:aults\\|erred\\|iner\\)\\|l\\(?:ete\\|imiters?\\)\\)\\|i\\(?:ctionary\\|s\\(?:able\\|card\\)\\)\\|o\\(?:cument\\|main\\)\\|rop\\)\\|e\\(?:ach\\|n\\(?:able\\|c\\(?:oding\\|rypted\\)\\|um\\)\\|scape\\|x\\(?:clu\\(?:d\\(?:e\\|ing\\)\\|sive\\)\\|ecute\\|ists\\|plain\\|t\\(?:ernal\\|ract\\)\\)\\)\\|f\\(?:amily\\|irst\\|loat\\|o\\(?:llowing\\|r\\(?:ce\\|ward\\)\\)\\|unctions?\\)\\|g\\(?:lobal\\|r\\(?:anted\\|eatest\\)\\)\\|h\\(?:andler\\|eader\\|o\\(?:ld\\|ur\\)\\)\\|i\\(?:dentity\\|f\\|m\\(?:m\\(?:\\(?:ediat\\|utabl\\)e\\)\\|plicit\\)\\|n\\(?:c\\(?:luding\\|rement\\)\\|dex\\(?:es\\)?\\|herits?\\|line\\|out\\|put\\|s\\(?:e\\(?:nsitive\\|rt\\)\\|tead\\)\\|voker\\)\\|solation\\)\\|key\\|l\\(?:a\\(?:nguage\\|rge\\|st\\)\\|c_c\\(?:\\(?:ollat\\|typ\\)e\\)\\|e\\(?:ast\\|vel\\)\\|isten\\|o\\(?:ad\\|c\\(?:a\\(?:l\\|tion\\)\\|k\\)\\|gin\\)\\)\\|m\\(?:a\\(?:pping\\|tch\\|xvalue\\)\\|in\\(?:\\(?:ut\\|valu\\)e\\)\\|o\\(?:de\\|nth\\|ve\\)\\)\\|n\\(?:a\\(?:mes?\\|tional\\)\\|char\\|ext\\|o\\(?:create\\(?:db\\|role\\|user\\)\\|inherit\\|login\\|ne\\|superuser\\|t\\(?:hing\\|ify\\)\\|wait\\)?\\|ull\\(?:if\\|s\\)\\)\\|o\\(?:bject\\|f\\|ids\\|p\\(?:erator\\|tions?\\)\\|ut\\|verlay\\|wne[dr]\\)\\|p\\(?:a\\(?:r\\(?:ser\\|ti\\(?:al\\|tion\\)\\)\\|ssword\\)\\|lans\\|osition\\|r\\(?:e\\(?:ceding\\|pared?\\|serve\\)\\|i\\(?:or\\|vileges\\)\\|ocedur\\(?:al\\|e\\)\\)\\)\\|quote\\|r\\(?:ange\\|e\\(?:a\\(?:d\\|ssign\\)\\|c\\(?:heck\\|ursive\\)\\|index\\|l\\(?:\\(?:ativ\\|eas\\)e\\)\\|name\\|p\\(?:eatable\\|l\\(?:ace\\|ica\\)\\)\\|s\\(?:\\(?:e\\|t\\(?:ar\\|ric\\)\\)t\\)\\|turns\\|voke\\)\\|o\\(?:l\\(?:e\\|lback\\)\\|ws?\\)\\|ule\\)\\|s\\(?:avepoint\\|c\\(?:hema\\|roll\\)\\|e\\(?:arch\\|c\\(?:ond\\|urity\\)\\|quences?\\|r\\(?:ializable\\|ver\\)\\|ssion\\|t\\(?:of\\)?\\)\\|h\\(?:are\\|ow\\)\\|imple\\|t\\(?:a\\(?:ble\\|ndalone\\|rt\\|t\\(?:ement\\|istics\\)\\)\\|d\\(?:in\\|out\\)\\|orage\\|ri\\(?:ct\\|p\\)\\)\\|u\\(?:bstring\\|peruser\\)\\|ys\\(?:id\\|tem\\)\\)\\|t\\(?:ables\\(?:pace\\)?\\|emp\\(?:late\\|orary\\)?\\|r\\(?:ansaction\\|eat\\|i\\(?:gger\\|m\\)\\|u\\(?:ncate\\|sted\\)\\)\\|ype\\)\\|u\\(?:n\\(?:bounded\\|committed\\|encrypted\\|known\\|listen\\|til\\)\\|pdate\\)\\|v\\(?:a\\(?:cuum\\|l\\(?:id\\(?:ator\\)?\\|ues?\\)\\)\\|ersion\\|iew\\|olatile\\)\\|w\\(?:hitespace\\|ork\\|r\\(?:apper\\|ite\\)\\)\\|xml\\(?:attributes\\|concat\\|element\\|forest\\|p\\(?:arse\\|i\\)\\|root\\|serialize\\)\\|ye\\(?:ar\\|s\\)\\)\\b" . font-lock-builtin-face) ("\\b\\(a\\(?:ll\\|n\\(?:aly\\(?:[sz]e\\)\\|[dy]\\)\\|rray\\|s\\(?:\\(?:ymmetri\\)?c\\)?\\|uthorization\\)\\|b\\(?:inary\\|oth\\)\\|c\\(?:as[et]\\|heck\\|o\\(?:l\\(?:late\\|umn\\)\\|n\\(?:currently\\|straint\\)\\)\\|r\\(?:eate\\|oss\\)\\|urrent_\\(?:catalog\\|date\\|role\\|schema\\|time\\(?:stamp\\)?\\|user\\)\\)\\|d\\(?:e\\(?:f\\(?:ault\\|errable\\)\\|sc\\)\\|istinct\\|o\\)\\|e\\(?:lse\\|nd\\|xcept\\)\\|f\\(?:alse\\|etch\\|or\\(?:eign\\)?\\|r\\(?:eeze\\|om\\)\\|ull\\)\\|gr\\(?:ant\\|oup\\)\\|having\\|i\\(?:like\\|n\\(?:itially\\|ner\\|t\\(?:ersect\\|o\\)\\)\\|snull\\|[ns]\\)\\|join\\|l\\(?:e\\(?:ading\\|ft\\)\\|i\\(?:ke\\|mit\\)\\|ocaltime\\(?:stamp\\)?\\)\\|n\\(?:atural\\|ot\\(?:null\\)?\\|ull\\)\\|o\\(?:ff\\(?:set\\)?\\|nly\\|rder\\|uter\\|ver\\(?:laps\\)?\\|[nr]\\)\\|p\\(?:lacing\\|rimary\\)\\|r\\(?:e\\(?:ferences\\|turning\\)\\|ight\\)\\|s\\(?:e\\(?:lect\\|ssion_user\\)\\|imilar\\|ome\\|ymmetric\\)\\|t\\(?:able\\|hen\\|o\\|r\\(?:ailing\\|ue\\)\\)\\|u\\(?:ni\\(?:on\\|que\\)\\|s\\(?:er\\|ing\\)\\)\\|v\\(?:ariadic\\|erbose\\)\\|w\\(?:he\\(?:n\\|re\\)\\|i\\(?:ndow\\|th\\)\\)\\)\\b" . font-lock-keyword-face) ("\\b\\(b\\(?:i\\(?:g\\(?:int\\|serial\\)\\|t\\)\\|o\\(?:ol\\(?:ean\\)?\\|x\\)\\|ytea\\)\\|c\\(?:har\\(?:acter\\)?\\|i\\(?:dr\\|rcle\\)\\)\\|d\\(?:ate\\|ecimal\\|ouble\\)\\|float[48]\\|in\\(?:et\\|t\\(?:e\\(?:ger\\|rval\\)\\|[248]\\)?\\)\\|l\\(?:ine\\|seg\\)\\|m\\(?:acaddr\\|oney\\)\\|numeric\\|p\\(?:ath\\|o\\(?:int\\|lygon\\)\\|recision\\)\\|real\\|s\\(?:erial[48]?\\|mallint\\)\\|t\\(?:ext\\|ime\\(?:stamp\\(?:tz\\)?\\|tz\\)?\\|s\\(?:query\\|vector\\)\\|xid_snapshot\\)\\|uuid\\|var\\(?:bit\\|char\\|ying\\)\\|without\\|xml\\|zone\\)\\b" . font-lock-type-face)) (#$ . 60674))
#@199 Linter SQL keywords used by font-lock.

This variable is used by `sql-mode' and `sql-interactive-mode'.  The
regular expressions are created during compilation by calling the
function `regexp-opt'.
(defvar sql-mode-linter-font-lock-keywords '(("\\b\\(auto\\(?:commit\\|inc\\|rowid\\)\\|c\\(?:a\\(?:ncel\\|scade\\)\\|hannel\\|o\\(?:mmitted\\|unt\\(?:blob\\)?\\)\\|ross\\|urrent\\)\\|d\\(?:at\\(?:a\\(?:base\\|files?\\)?\\|esplit\\)\\|b\\(?:a\\|name\\)\\|e\\(?:f\\(?:ault\\|erred\\)\\|nied\\|scription\\|vice\\)\\|i\\(?:fference\\|rectory\\)\\)\\|e\\(?:rror\\|scape\\|uc\\|x\\(?:clusive\\|t\\(?:ernal\\|file\\)\\)\\)\\|f\\(?:alse\\|i\\(?:l\\(?:e\\(?:\\(?:nam\\|siz\\|tim\\)e\\)?\\|ter\\)\\|ndblob\\|rst\\)\\|oreign\\|u\\(?:ll\\|zzy\\)\\)\\|g\\(?:lobal\\|ranted\\)\\|i\\(?:gnore\\|mmediate\\|n\\(?:crement\\|dex\\(?:es\\|files?\\|time\\)\\|itial\\|te\\(?:grity\\|rnal\\)\\)\\)\\|key\\|l\\(?:ast_\\(?:autoinc\\|rowid\\)\\|i\\(?:mit\\|nter\\(?:_\\(?:file_\\(?:\\(?:devic\\|siz\\)e\\)\\|name_length\\)\\)?\\)\\|n\\|o\\(?:cal\\|gin\\)\\)\\|m\\(?:ax\\(?:isn\\|row\\(?:id\\)?\\|value\\)\\|\\(?:essag\\|invalu\\|odul\\)e\\)\\|n\\(?:a\\(?:mes\\|t\\(?:\\(?:ion\\|ur\\)al\\)\\)\\|ew\\(?:_table\\)?\\|o\\(?:de\\|neuc\\)?\\|u\\(?:lliferror\\|mbers\\)\\)\\|o\\(?:ff\\|ld\\(?:_table\\)?\\|nly\\|p\\(?:eration\\|ti\\(?:mistic\\|on\\)\\)\\)\\|p\\(?:a\\(?:ge\\|rtially\\|ssword\\)\\|hrase\\|lan\\|r\\(?:ecision\\|i\\(?:mary\\|ority\\|vileges\\)\\|o\\(?:c_\\(?:info_size\\|par_name_len\\)\\|tocol\\)\\)\\)\\|quant\\|r\\(?:a\\(?:nge\\|w\\)\\|e\\(?:ad\\|cords?\\|ferences\\|mote\\|name\\|plication\\|start\\|write\\)\\|o\\(?:ot\\|w\\)\\|ule\\)\\|s\\(?:avepoint\\|e\\(?:curity\\|nsitive\\|quence\\|r\\(?:ializable\\|ver\\)\\)\\|i\\(?:\\(?:nc\\|z\\)e\\)\\|ome\\|ta\\(?:rtup\\|t\\(?:ement\\|ion\\)\\)\\|uccess\\|ys_guid\\)\\|t\\(?:ables\\|est\\|imeout\\|r\\(?:a\\(?:ce\\|ns\\(?:\\(?:ac\\|la\\)tion\\)\\)\\|igger\\(?:_info_size\\)?\\|u\\(?:e\\|nc\\)\\)\\)\\|u\\(?:n\\(?:committed\\|icode\\|known\\|li\\(?:\\(?:mi\\|s\\)ted\\)\\)\\|ser\\|tf8\\)\\|v\\(?:a\\(?:lue\\|rying\\)\\|olumes\\)\\|w\\(?:ait\\|\\(?:indows_cod\\|orkspac\\|rit\\)e\\)\\|xml\\)\\b" . font-lock-keyword-face) ("\\b\\(a\\(?:c\\(?:cess\\|tion\\)\\|dd\\(?:ress\\)?\\|fter\\|l\\(?:l\\|ter\\|ways\\)\\|n[dy]\\|ppend\\|s\\(?:\\(?:ci\\|yn\\)?c\\)?\\|t_\\(?:begin\\|end\\)\\|ud\\(?:_obj_name_len\\|it\\)\\)\\|b\\(?:a\\(?:ckup\\|se\\)\\|e\\(?:fore\\|tween\\)\\|lob\\(?:files?\\|pct\\)\\|r\\(?:ief\\|owse\\)\\|y\\)\\|c\\(?:as[et]\\|heck\\|l\\(?:ear\\|ose\\)\\|o\\(?:lumn\\|mm\\(?:\\(?:en\\|i\\)t\\)\\|n\\(?:nect\\|tains\\)\\|rrect\\)\\|reate\\)\\|d\\(?:e\\(?:lete\\|sc\\)\\|is\\(?:able\\|\\(?:conne\\|tin\\)ct\\)\\|rop\\)\\|e\\(?:ach\\|f\\|lse\\|n\\(?:able\\|d\\)\\|vent\\|x\\(?:c\\(?:ept\\|lude\\)\\|ecute\\|ists\\|tract\\)\\)\\|f\\(?:etch\\|inish\\|or\\|rom\\)\\|g\\(?:et\\|r\\(?:ant\\|oup\\)\\)\\|having\\|i\\(?:dentified\\|n\\(?:dex\\|ner\\|s\\(?:ert\\|tead\\)\\|t\\(?:ersect\\|o\\)\\)\\|solation\\|[ns]\\)\\|join\\|l\\(?:e\\(?:ft\\|vel\\)\\|ike\\|ock\\)\\|mod\\(?:e\\|ify\\)\\|n\\(?:o\\(?:\\(?:wai\\)?t\\)\\|ull\\)\\|o\\(?:pen\\|\\(?:rd\\|ut\\|wn\\)er\\|[fnr]\\)\\|p\\(?:r\\(?:ess\\|ior\\|ocedure\\)\\|u\\(?:blic\\|rge\\)\\)\\|r\\(?:e\\(?:build\\|s\\(?:ource\\|trict\\)\\|voke\\)\\|ight\\|o\\(?:l\\(?:e\\|lback\\)\\|wnum\\)\\)\\|s\\(?:e\\(?:lect\\|ssion\\|t\\)\\|h\\(?:are\\|utdown\\)\\|t\\(?:art\\|op\\)\\|y\\(?:n\\(?:c\\(?:hronize\\)?\\|onym\\)\\|sdate\\)\\)\\|t\\(?:able\\|hen\\|o\\)\\|u\\(?:n\\(?:i\\(?:on\\|que\\)\\|lock\\|til\\)\\|pdate\\|sing\\)\\|v\\(?:alues\\|iew\\)\\|w\\(?:he\\(?:n\\|re\\)\\|ith\\(?:out\\)?\\)\\)\\b" . font-lock-keyword-face) ("\\b\\(a\\(?:bs\\|cos\\|sin\\|tan2?\\|vg\\)\\|c\\(?:eil\\|hr\\|osh?\\)\\|d\\(?:ay\\(?:name\\|s\\)\\|\\(?:ecod\\|ivtim\\)e\\)\\|exp\\|floor\\|g\\(?:et\\(?:b\\(?:its\\|lob\\|yte\\)\\|long\\|raw\\|str\\|text\\|word\\)\\|reatest\\)\\|hex\\(?:toraw\\)?\\|in\\(?:itcap\\|str\\)\\|l\\(?:e\\(?:ast\\|n\\(?:blob\\|gth\\)\\)\\|o\\(?:g\\|wer\\)\\|pad\\|trim\\)\\|m\\(?:ax\\|in\\|o\\(?:d\\|nthname\\)\\|ultime\\)\\|nvl\\|octet_length\\|power\\|r\\(?:a\\(?:nd\\|wtohex\\)\\|ep\\(?:eat_string\\|lace\\)\\|ight_substr\\|ound\\|pad\\|trim\\)\\|s\\(?:i\\(?:gn\\|nh?\\)\\|oundex\\|qrt\\|u\\(?:bstr\\(?:ing\\)?\\|m\\)\\)\\|t\\(?:anh?\\|imeint_to_days\\|o_\\(?:char\\|date\\|gmtime\\|localtime\\|number\\)\\|rim\\)\\|upper\\|width\\)\\b" . font-lock-builtin-face) ("\\b\\(b\\(?:i\\(?:gint\\|tmap\\)\\|lob\\|oolean\\|yte\\)\\|c\\(?:\\(?:ha\\(?:racte\\)?\\|urso\\)r\\)\\|d\\(?:ate\\(?:time\\)?\\|ec\\(?:imal\\)?\\|ouble\\)\\|float\\|int\\(?:eger\\)?\\|long\\|n\\(?:char\\|um\\(?:ber\\|eric\\)\\)\\|real\\|smallint\\|var\\(?:byte\\|char\\)\\)\\b" . font-lock-type-face)) (#$ . 70264))
#@311 Microsoft SQLServer SQL keywords used by font-lock.

This variable is used by `sql-mode' and `sql-interactive-mode'.  The
regular expressions are created during compilation by calling the
function `regexp-opt'.  Therefore, take a look at the source before
you define your own `sql-mode-ms-font-lock-keywords'.
(defvar sql-mode-ms-font-lock-keywords '(("^\\(?:\\(?:set\\s-+\\(?:\\(a\\(?:nsi_\\(?:defaults\\|null\\(?:_dflt_o\\(?:ff\\|n\\)\\|s\\)\\|padding\\|warnings\\)\\|rith\\(?:abort\\|ignore\\)\\)\\|c\\(?:oncat_null_yields_null\\|ursor_close_on_commit\\)\\|d\\(?:atef\\(?:\\(?:irs\\|orma\\)t\\)\\|eadlock_priority\\|isable_def_cnst_chk\\)\\|f\\(?:ips_flagger\\|mtonly\\|orceplan\\)\\|i\\(?:dentity_insert\\|mplicit_transactions\\)\\|l\\(?:anguage\\|ock_timeout\\)\\|n\\(?:o\\(?:count\\|exec\\)\\|umeric_roundabort\\)\\|offsets\\|parseonly\\|qu\\(?:ery_governor_cost_limit\\|oted_identifier\\)\\|r\\(?:emote_proc_transactions\\|owcount\\)\\|s\\(?:howplan_\\(?:all\\|text\\)\\|tatistics\\)\\|t\\(?:extsize\\|ransaction\\)\\|xact_abort\\)\\)\\)\\|go\\s-*\\|use\\s-+\\|setuser\\s-+\\|dbcc\\s-+\\).*$" . font-lock-doc-face) ("\\b\\(a\\(?:bsolute\\|dd\\|l\\(?:l\\|ter\\)\\|n[dy]\\|sc?\\|uthorization\\|vg\\)\\|b\\(?:ackup\\|e\\(?:\\(?:gi\\|twee\\)n\\)\\|r\\(?:eak\\|owse\\)\\|ulk\\|y\\)\\|c\\(?:as\\(?:\\(?:cad\\)?e\\)\\|heck\\(?:point\\)?\\|l\\(?:ose\\|ustered\\)\\|o\\(?:alesce\\|l\\(?:late\\|umn\\)\\|m\\(?:mit\\(?:ted\\)?\\|pute\\)\\|n\\(?:firm\\|straint\\|t\\(?:ains\\(?:table\\)?\\|inue\\|rolrow\\)\\|vert\\)\\|unt\\)\\|r\\(?:eate\\|oss\\)\\|urrent\\(?:_\\(?:date\\|time\\(?:stamp\\)?\\|user\\)\\)?\\)\\|d\\(?:atabase\\|e\\(?:allocate\\|clare\\|fault\\|lete\\|ny\\|sc\\)\\|is\\(?:k\\|t\\(?:inct\\|ributed\\)\\)\\|ouble\\|rop\\|um\\(?:my\\|p\\)\\)\\|e\\(?:lse\\|nd\\|rr\\(?:lvl\\|orexit\\)\\|scape\\|x\\(?:cept\\|ec\\(?:ute\\)?\\|i\\(?:sts\\|t\\)\\)\\)\\|f\\(?:etch\\|i\\(?:l\\(?:e\\|lfactor\\)\\|rst\\)\\|loppy\\|or\\(?:eign\\)?\\|r\\(?:eetext\\(?:table\\)?\\|om\\)\\|u\\(?:ll\\|nction\\)\\)\\|g\\(?:oto\\|r\\(?:ant\\|oup\\)\\)\\|h\\(?:aving\\|oldlock\\)\\|i\\(?:dentity\\(?:_insert\\|col\\)?\\|n\\(?:dex\\|ner\\|sert\\|t\\(?:ersect\\|o\\)\\)\\|solation\\|[fns]\\)\\|join\\|k\\(?:ey\\|ill\\)\\|l\\(?:ast\\|e\\(?:ft\\|vel\\)\\|i\\(?:ke\\|neno\\)\\|oad\\)\\|m\\(?:ax\\|i\\(?:n\\|rrorexit\\)\\)\\|n\\(?:ational\\|ext\\|o\\(?:check\\|lock\\|nclustered\\|t\\)\\|ull\\(?:if\\)?\\)\\|o\\(?:ff\\(?:sets\\)?\\|n\\(?:ce\\|ly\\)\\|p\\(?:en\\(?:datasource\\|query\\|rowset\\|xml\\)?\\|tion\\)\\|rder\\|ut\\(?:er\\|put\\)\\|ver\\|[fnr]\\)\\|p\\(?:aglock\\|er\\(?:cent\\|m\\(?:anent\\)?\\)\\|ipe\\|lan\\|r\\(?:e\\(?:cision\\|pare\\)\\|i\\(?:mary\\|nt\\|or\\|vileges\\)\\|oc\\(?:e\\(?:dure\\|ssexit\\)\\)?\\)\\|ublic\\)\\|r\\(?:aiserror\\|e\\(?:ad\\(?:committed\\|past\\|text\\|uncommitted\\)?\\|configure\\|ferences\\|lative\\|p\\(?:eatable\\(?:read\\)?\\|lication\\)\\|st\\(?:ore\\|rict\\)\\|turns?\\|voke\\)\\|ight\\|o\\(?:llback\\|w\\(?:count\\|guidcol\\|lock\\)\\)\\|ule\\)\\|s\\(?:ave\\|chema\\|e\\(?:lect\\|rializable\\|ssion_user\\|t\\)\\|hutdown\\|ome\\|tatistics\\|um\\|ystem_user\\)\\|t\\(?:a\\(?:bl\\(?:e\\|ockx?\\)\\|pe\\)\\|e\\(?:mp\\(?:orary\\)?\\|xtsize\\)\\|hen\\|op?\\|r\\(?:an\\(?:saction\\)?\\|igger\\|uncate\\)\\|sequal\\)\\|u\\(?:n\\(?:committed\\|i\\(?:on\\|que\\)\\)\\|pd\\(?:ate\\(?:text\\)?\\|lock\\)\\|ser?\\)\\|v\\(?:alues\\|iew\\)\\|w\\(?:aitfor\\|h\\(?:e\\(?:n\\|re\\)\\|ile\\)\\|ith\\|ork\\|ritetext\\)\\)\\b" . font-lock-keyword-face) ("\\b\\(@@\\(?:c\\(?:onnections\\|pu_busy\\|ursor_rows\\)\\|d\\(?:atefirst\\|bts\\)\\|error\\|fetch_status\\|i\\(?:d\\(?:entity\\|le\\)\\|o_busy\\)\\|l\\(?:ang\\(?:id\\|uage\\)\\|ock_timeout\\)\\|max_\\(?:connections\\|precision\\)\\|nestlevel\\|options\\|p\\(?:ack\\(?:_\\(?:received\\|sent\\)\\|et_errors\\)\\|rocid\\)\\|r\\(?:emserver\\|owcount\\)\\|s\\(?:erv\\(?:\\(?:er\\|ice\\)name\\)\\|pid\\)\\|t\\(?:extsize\\|imeticks\\|otal_\\(?:errors\\|read\\|write\\)\\|rancount\\)\\|version\\)\\|a\\(?:bs\\|cos\\|nd\\|pp_name\\|s\\(?:cii\\|in\\)\\|t\\(?:an\\|n2\\)\\|vg\\)\\|c\\(?:as[et]\\|eiling\\|har\\(?:index\\)?\\|o\\(?:alesce\\|l\\(?:_\\(?:length\\|name\\)\\|umnproperty\\)\\|n\\(?:tainstable\\|vert\\)\\|unt\\|[st]\\)\\|ur\\(?:rent_\\(?:timestamp\\|user\\)\\|sor_status\\)\\)\\|d\\(?:a\\(?:t\\(?:a\\(?:baseproperty\\|length\\)\\|e\\(?:add\\|diff\\|name\\|part\\)\\)\\|y\\)\\|b_\\(?:id\\|name\\)\\|egrees\\|ifference\\)\\|exp\\|f\\(?:ile\\(?:_\\(?:id\\|name\\)\\|group\\(?:_\\(?:id\\|name\\)\\|property\\)\\|property\\)\\|loor\\|ormatmessage\\|reetexttable\\|ulltext\\(?:\\(?:catalog\\|service\\)property\\)\\)\\|g\\(?:et\\(?:ansinull\\|date\\)\\|rouping\\)\\|host_\\(?:id\\|name\\)\\|i\\(?:dent\\(?:_\\(?:incr\\|seed\\)\\|ity\\)\\|ndex\\(?:_col\\|property\\)\\|s\\(?:_\\(?:\\(?:srvrole\\)?member\\)\\|date\\|nu\\(?:ll\\|meric\\)\\)\\)\\|l\\(?:e\\(?:ft\\|n\\)\\|o\\(?:g\\(?:10\\)?\\|wer\\)\\|trim\\)\\|m\\(?:ax\\|in\\|onth\\)\\|n\\(?:char\\|ewid\\|ullif\\)\\|o\\(?:bject\\(?:_\\(?:id\\|name\\)\\|property\\)\\|pen\\(?:query\\|rowset\\)\\)\\|p\\(?:a\\(?:rsename\\|tindex\\)\\|ermissions\\|i\\|ower\\)\\|quotename\\|r\\(?:a\\(?:dians\\|nd\\)\\|e\\(?:\\(?:pl\\(?:ac\\|icat\\)\\|vers\\)e\\)\\|ight\\|ound\\|trim\\)\\|s\\(?:ession_user\\|i\\(?:g?n\\)\\|oundex\\|pace\\|q\\(?:rt\\|uare\\)\\|t\\(?:ats_date\\|devp?\\|r\\|uff\\)\\|u\\(?:bstring\\|m\\|ser_\\(?:id\\|name\\|s\\(?:id\\|name\\)\\)\\)\\|ystem_user\\)\\|t\\(?:an\\|ext\\(?:ptr\\|valid\\)\\|ypeproperty\\)\\|u\\(?:nicode\\|pper\\|ser\\(?:_\\(?:id\\|name\\)\\)?\\)\\|varp?\\|year\\)\\b" . font-lock-builtin-face) ("\\b@[a-zA-Z0-9_]*\\b" . font-lock-variable-name-face) ("\\b\\(bi\\(?:nary\\|t\\)\\|c\\(?:\\(?:ha\\(?:racte\\)?\\|urso\\)r\\)\\|d\\(?:atetime\\|ec\\(?:imal\\)?\\|ouble\\)\\|float\\|i\\(?:mage\\|nt\\(?:eger\\)?\\)\\|money\\|n\\(?:ational\\|char\\|text\\|umeric\\|varchar\\)\\|precision\\|real\\|small\\(?:datetime\\|int\\|money\\)\\|t\\(?:ext\\|i\\(?:mestamp\\|nyint\\)\\)\\|uniqueidentifier\\|var\\(?:binary\\|char\\|ying\\)\\)\\b" . font-lock-type-face)) (#$ . 74925))
#@302 Sybase SQL keywords used by font-lock.

This variable is used by `sql-mode' and `sql-interactive-mode'.  The
regular expressions are created during compilation by calling the
function `regexp-opt'.  Therefore, take a look at the source before
you define your own `sql-mode-sybase-font-lock-keywords'.
(defvar sql-mode-sybase-font-lock-keywords nil (#$ . 80925))
#@306 Informix SQL keywords used by font-lock.

This variable is used by `sql-mode' and `sql-interactive-mode'.  The
regular expressions are created during compilation by calling the
function `regexp-opt'.  Therefore, take a look at the source before
you define your own `sql-mode-informix-font-lock-keywords'.
(defvar sql-mode-informix-font-lock-keywords nil (#$ . 81294))
#@308 Interbase SQL keywords used by font-lock.

This variable is used by `sql-mode' and `sql-interactive-mode'.  The
regular expressions are created during compilation by calling the
function `regexp-opt'.  Therefore, take a look at the source before
you define your own `sql-mode-interbase-font-lock-keywords'.
(defvar sql-mode-interbase-font-lock-keywords nil (#$ . 81669))
#@305 Ingres SQL keywords used by font-lock.

This variable is used by `sql-mode' and `sql-interactive-mode'.  The
regular expressions are created during compilation by calling the
function `regexp-opt'.  Therefore, take a look at the source before
you define your own `sql-mode-interbase-font-lock-keywords'.
(defvar sql-mode-ingres-font-lock-keywords nil (#$ . 82047))
#@300 Solid SQL keywords used by font-lock.

This variable is used by `sql-mode' and `sql-interactive-mode'.  The
regular expressions are created during compilation by calling the
function `regexp-opt'.  Therefore, take a look at the source before
you define your own `sql-mode-solid-font-lock-keywords'.
(defvar sql-mode-solid-font-lock-keywords nil (#$ . 82419))
#@300 MySQL SQL keywords used by font-lock.

This variable is used by `sql-mode' and `sql-interactive-mode'.  The
regular expressions are created during compilation by calling the
function `regexp-opt'.  Therefore, take a look at the source before
you define your own `sql-mode-mysql-font-lock-keywords'.
(defvar sql-mode-mysql-font-lock-keywords '(("\\b\\(a\\(?:scii\\|vg\\)\\|b\\(?:d\\(?:mpolyfrom\\(?:text\\|wkb\\)\\|polyfrom\\(?:text\\|wkb\\)\\)\\|enchmark\\|i\\(?:n\\|t_\\(?:and\\|length\\|x?or\\)\\)\\|oth\\)\\|c\\(?:ast\\|har\\(?:\\(?:acter\\)?_length\\)\\|o\\(?:alesce\\|n\\(?:cat\\(?:_ws\\)?\\|nection_id\\|v\\(?:ert\\)?\\)\\|unt\\)\\|ur\\(?:date\\|rent_\\(?:date\\|time\\(?:stamp\\)?\\)\\|time\\)\\)\\|e\\(?:\\(?:l\\|ncryp\\|xport_se\\)t\\)\\|f\\(?:i\\(?:eld\\|nd_in_set\\)\\|ound_rows\\|rom\\)\\|g\\(?:e\\(?:om\\(?:collfrom\\(?:text\\|wkb\\)\\|etry\\(?:collectionfrom\\(?:text\\|wkb\\)\\|from\\(?:text\\|wkb\\)\\)\\|from\\(?:text\\|wkb\\)\\)\\|t_lock\\)\\|roup_concat\\)\\|hex\\|i\\(?:fnull\\|n\\(?:str\\|terval\\)\\|snull\\)\\|l\\(?:ast_insert_id\\|case\\|e\\(?:ading\\|ngth\\)\\|ine\\(?:from\\(?:text\\|wkb\\)\\|stringfrom\\(?:text\\|wkb\\)\\)\\|o\\(?:ad_file\\|cate\\|wer\\)\\|pad\\|trim\\)\\|m\\(?:a\\(?:ke_set\\|ster_pos_wait\\|x\\)\\|i[dn]\\|linefrom\\(?:text\\|wkb\\)\\|po\\(?:intfrom\\(?:text\\|wkb\\)\\|lyfrom\\(?:text\\|wkb\\)\\)\\|ulti\\(?:linestringfrom\\(?:text\\|wkb\\)\\|po\\(?:intfrom\\(?:text\\|wkb\\)\\|lygonfrom\\(?:text\\|wkb\\)\\)\\)\\)\\|n\\(?:ow\\|ullif\\)\\|o\\(?:ct\\(?:et_length\\)?\\|rd\\)\\|po\\(?:intfrom\\(?:text\\|wkb\\)\\|ly\\(?:from\\(?:text\\|wkb\\)\\|gonfrom\\(?:text\\|wkb\\)\\)\\|sition\\)\\|quote\\|r\\(?:and\\|e\\(?:lease_lock\\|p\\(?:eat\\|lace\\)\\|verse\\)\\|pad\\|trim\\)\\|s\\(?:oundex\\|pace\\|td\\(?:dev\\)?\\|u\\(?:bstring\\(?:_index\\)?\\|m\\)\\|ysdate\\)\\|tr\\(?:ailing\\|im\\)\\|u\\(?:case\\|nix_timestamp\\|\\(?:pp\\|s\\)er\\)\\|variance\\)\\b" . font-lock-builtin-face) ("\\b\\(a\\(?:ction\\|dd\\|fter\\|gainst\\|l\\(?:l\\|ter\\)\\|nd\\|sc?\\|uto_increment\\|vg_row_length\\)\\|b\\(?:db\\|etween\\|y\\)\\|c\\(?:as\\(?:\\(?:cad\\)?e\\)\\|h\\(?:a\\(?:nge\\|racter\\)\\|eck\\(?:sum\\)?\\)\\|lose\\|o\\(?:l\\(?:lat\\(?:e\\|ion\\)\\|umns?\\)\\|mm\\(?:ent\\|itted\\)\\|n\\(?:\\(?:curre\\|strai\\)nt\\)\\)\\|r\\(?:eate\\|oss\\)\\)\\|d\\(?:ata\\(?:base\\)?\\|e\\(?:fault\\|l\\(?:ay\\(?:_key_write\\|ed\\)\\|ete\\)\\|sc\\)\\|i\\(?:rectory\\|s\\(?:able\\|tinct\\(?:row\\)?\\)\\)\\|o\\|rop\\|u\\(?:\\(?:mpfil\\|plicat\\)e\\)\\)\\|e\\(?:lse\\(?:if\\)?\\|n\\(?:able\\|\\(?:close\\)?d\\)\\|scaped\\|xists\\)\\|f\\(?:i\\(?:elds\\|rst\\)\\|or\\(?:ce\\|eign\\)?\\|rom\\|ull\\(?:text\\)?\\)\\|g\\(?:lobal\\|roup\\)\\|h\\(?:a\\(?:ndler\\|ving\\)\\|eap\\|igh_priority\\)\\|i\\(?:gnore\\|n\\(?:dex\\|file\\|ner\\|sert\\(?:_method\\)?\\|to\\)\\|s\\(?:am\\|olation\\)\\|[fns]\\)\\|join\\|keys?\\|l\\(?:ast\\|e\\(?:ft\\|vel\\)\\|i\\(?:ke\\|mit\\|nes\\)\\|o\\(?:ad\\|c\\(?:al\\|k\\)\\|w_priority\\)\\)\\|m\\(?:a\\(?:tch\\|x_rows\\)\\|erge\\|in_rows\\|od\\(?:e\\|ify\\)\\|\\(?:rg_m\\)?yisam\\)\\|n\\(?:atural\\|ext\\|ot?\\|ull\\)\\|o\\(?:ffset\\|p\\(?:en\\|tionally\\)\\|rder\\|ut\\(?:er\\|file\\)\\|[jnr]\\)\\|p\\(?:a\\(?:ck_keys\\|rtial\\|ssword\\)\\|r\\(?:ev\\|imary\\|ocedure\\)\\)\\|quick\\|r\\(?:aid\\(?:0\\|_type\\)\\|e\\(?:ad\\|ferences\\|name\\|peatable\\|strict\\)\\|ight\\|o\\(?:ll\\(?:back\\|up\\)\\|w_format\\)\\)\\|s\\(?:avepoint\\|e\\(?:lect\\|parator\\|rializable\\|ssion\\|t\\)\\|h\\(?:are\\|ow\\)\\|ql_\\(?:b\\(?:\\(?:ig\\|uffer\\)_result\\)\\|ca\\(?:che\\|lc_found_rows\\)\\|no_cache\\|small_result\\)\\|t\\(?:arting\\|r\\(?:aight_join\\|iped\\)\\)\\)\\|t\\(?:ables?\\|e\\(?:mporary\\|rminated\\)\\|hen\\|o\\|r\\(?:ansaction\\|uncate\\)\\|ype\\)\\|u\\(?:n\\(?:committed\\|i\\(?:on\\|que\\)\\|lock\\)\\|pdate\\|s\\(?:e\\|ing\\)\\)\\|values\\|w\\(?:he\\(?:n\\|re\\)\\|ith\\|rite\\)\\|xor\\)\\b" . font-lock-keyword-face) ("\\b\\(b\\(?:i\\(?:gint\\|nary\\|t\\)\\|lob\\|ool\\(?:ean\\)?\\)\\|c\\(?:har\\|urve\\)\\|d\\(?:ate\\(?:time\\)?\\|ec\\(?:imal\\)?\\|ouble\\)\\|enum\\|f\\(?:ixed\\|loat\\)\\|geometry\\(?:collection\\)?\\|int\\(?:eger\\)?\\|l\\(?:ine\\(?:\\(?:ar\\|st\\)ring\\)?\\|ong\\(?:blob\\|text\\)\\)\\|m\\(?:edium\\(?:blob\\|\\(?:in\\|tex\\)t\\)\\|ulti\\(?:curve\\|linestring\\|po\\(?:int\\|lygon\\)\\|surface\\)\\)\\|n\\(?:ational\\|umeric\\)\\|p\\(?:o\\(?:int\\|lygon\\)\\|recision\\)\\|real\\|s\\(?:mallint\\|urface\\)\\|t\\(?:ext\\|i\\(?:me\\(?:stamp\\)?\\|ny\\(?:blob\\|\\(?:in\\|tex\\)t\\)\\)\\)\\|unsigned\\|varchar\\|year[24]?\\|zerofill\\)\\b" . font-lock-type-face)) (#$ . 82785))
#@302 SQLite SQL keywords used by font-lock.

This variable is used by `sql-mode' and `sql-interactive-mode'.  The
regular expressions are created during compilation by calling the
function `regexp-opt'.  Therefore, take a look at the source before
you define your own `sql-mode-sqlite-font-lock-keywords'.
(defvar sql-mode-sqlite-font-lock-keywords '(("^[.].*$" . font-lock-doc-face) ("\\b\\(a\\(?:bort\\|ction\\|dd\\|fter\\|l\\(?:l\\|ter\\)\\|n\\(?:alyze\\|d\\)\\|sc?\\|ttach\\|utoincrement\\)\\|b\\(?:e\\(?:fore\\|\\(?:gi\\|twee\\)n\\)\\|y\\)\\|c\\(?:as\\(?:cade\\|[et]\\)\\|heck\\|o\\(?:l\\(?:late\\|umn\\)\\|\\(?:mmi\\|n\\(?:flic\\|strain\\)\\)t\\)\\|r\\(?:eate\\|oss\\)\\)\\|d\\(?:atabase\\|e\\(?:f\\(?:ault\\|err\\(?:able\\|ed\\)\\)\\|lete\\|sc\\|tach\\)\\|istinct\\|rop\\)\\|e\\(?:ach\\|lse\\|nd\\|scape\\|x\\(?:c\\(?:ept\\|lusive\\)\\|ists\\|plain\\)\\)\\|f\\(?:ail\\|or\\(?:eign\\)?\\|rom\\|ull\\)\\|g\\(?:lob\\|roup\\)\\|having\\|i\\(?:gnore\\|mmediate\\|n\\(?:dex\\(?:ed\\)?\\|itially\\|ner\\|s\\(?:ert\\|tead\\)\\|t\\(?:ersect\\|o\\)\\)\\|snull\\|[fns]\\)\\|join\\|key\\|l\\(?:eft\\|i\\(?:ke\\|mit\\)\\)\\|match\\|n\\(?:atural\\|o\\(?:t\\(?:null\\)?\\)?\\|ull\\)\\|o\\(?:ffset\\|\\(?:rd\\|ut\\)er\\|[fnr]\\)\\|p\\(?:lan\\|r\\(?:agma\\|imary\\)\\)\\|query\\|r\\(?:aise\\|e\\(?:ferences\\|gexp\\|index\\|lease\\|name\\|place\\|strict\\)\\|ight\\|o\\(?:llback\\|w\\)\\)\\|s\\(?:\\(?:avepoin\\|e\\(?:lec\\)?\\)t\\)\\|t\\(?:able\\|emp\\(?:orary\\)?\\|hen\\|o\\|r\\(?:ansaction\\|igger\\)\\)\\|u\\(?:ni\\(?:on\\|que\\)\\|pdate\\|sing\\)\\|v\\(?:a\\(?:cuum\\|lues\\)\\|i\\(?:ew\\|rtual\\)\\)\\|whe\\(?:n\\|re\\)\\)\\b" . font-lock-keyword-face) ("\\b\\(b\\(?:ig\\(?:int\\)?\\|lob\\|oolean\\)\\|c\\(?:haracter\\|lob\\)\\|d\\(?:ate\\(?:time\\)?\\|ecimal\\|ouble\\)\\|float\\|int\\(?:eger\\|[28]\\)?\\|mediumint\\|n\\(?:ative\\|char\\|um\\(?:ber\\|eric\\)\\|varchar\\)\\|precision\\|real\\|smallint\\|t\\(?:\\(?:ex\\|inyin\\)t\\)\\|unsigned\\|var\\(?:char\\|ying\\)\\)\\b" . font-lock-type-face) ("\\b\\(a\\(?:bs\\|vg\\)\\|c\\(?:hanges\\|o\\(?:alesce\\|unt\\)\\|urrent_\\(?:date\\|time\\(?:stamp\\)?\\)\\)\\|g\\(?:lob\\|roup_concat\\)\\|hex\\|ifnull\\|julianday\\|l\\(?:ast_insert_rowid\\|ength\\|ike\\|o\\(?:ad_extension\\|wer\\)\\|trim\\)\\|m\\(?:ax\\|in\\)\\|nullif\\|quote\\|r\\(?:andom\\(?:blob\\)?\\|eplace\\|ound\\|trim\\)\\|s\\(?:oundex\\|qlite_\\(?:compileoption_\\(?:get\\|used\\)\\|source_id\\|version\\)\\|trftime\\|u\\(?:bstr\\|m\\)\\)\\|t\\(?:ime\\|otal\\(?:_changes\\)?\\|rim\\|ypeof\\)\\|upper\\|zeroblob\\)\\b" . font-lock-builtin-face)) (#$ . 87342))
#@296 DB2 SQL keywords used by font-lock.

This variable is used by `sql-mode' and `sql-interactive-mode'.  The
regular expressions are created during compilation by calling the
function `regexp-opt'.  Therefore, take a look at the source before
you define your own `sql-mode-db2-font-lock-keywords'.
(defvar sql-mode-db2-font-lock-keywords nil (#$ . 89915))
#@188 SQL keywords used by font-lock.

Setting this variable directly no longer has any affect.  Use
`sql-product' and `sql-add-product-keywords' to control the
highlighting rules in SQL mode.
(defvar sql-mode-font-lock-keywords nil (#$ . 90275))
#@27 Read a valid SQL product.
(defalias 'sql-read-product #[(prompt &optional initial) "\203\n\304!\206\305\306\307\n\310\311\"\312\313	\314	&!)\207" [initial init prompt sql-product-alist symbol-name "ansi" intern completing-read mapcar #[(info) "\301@!\207" [info symbol-name] 2] nil require-match sql-product-history] 9 (#$ . 90522)])
#@316 Add support for a database product in `sql-mode'.

Add PRODUCT to `sql-product-alist' which enables `sql-mode' to
properly support syntax highlighting and interactive interaction.
DISPLAY is the name of the SQL product that will appear in the
menu bar and in messages.  PLIST initializes the product
configuration.
(defalias 'sql-add-product #[(product display &rest plist) "\306	\"\203\f\307\310\"\207\311\301\312\nBBBC\"\210\313\f\314\315\n\316\317DD\320\321\322\323\324\317DE&\325\n\227\326\327\330\f\331\"\"\210*$\210\207" [product sql-product-alist display plist sql-mode-menu down-display assoc message "Product `%s' is already defined" add-to-list :name easy-menu-add-item ("Product") vector sql-set-product quote :style radio :selected eq sql-product nil map-keymap #[(k b) "?\205	\n\211A@)\227\231\205\f\211\207" [next-item down-display b x k] 3] easy-menu-get-map ("Product") next-item] 13 (#$ . 90872)])
#@43 Remove support for PRODUCT in `sql-mode'.
(defalias 'sql-del-product #[(product) "\303\304\305	\306\"#\210\307	\n\"\310\207" [sql-mode-menu product sql-product-alist easy-menu-remove-item ("Product") sql-get-product-feature :name assq-delete-all nil] 6 (#$ . 91814)])
#@296 Set FEATURE of database PRODUCT to NEWVALUE.

The PRODUCT must be a symbol which identifies the database
product.  The product must have already exist on the product
list.  See `sql-add-product' to add new products.  The FEATURE
argument must be a plist keyword accepted by
`sql-product-alist'.
(defalias 'sql-set-product-feature #[(product feature newvalue) "\306	\"\307\nA\"\n\203-
\235\203!\f9\203!\fL\2021\n\310\nA#\241\2021\311\312\"*\207" [product sql-product-alist p feature v sql-indirect-features assoc plist-get plist-put message "`%s' is not a known product; use `sql-add-product' to add it first." newvalue] 5 (#$ . 92091)])
#@418 Lookup FEATURE associated with a SQL PRODUCT.

If the FEATURE is nil for PRODUCT, and FALLBACK is specified,
then the FEATURE associated with the FALLBACK product is
returned.

If the FEATURE is in the list `sql-indirect-features', and the
NOT-INDIRECT parameter is not set, then the value of the symbol
stored in the connect alist is returned.

See `sql-product-alist' for a list of products and supported features.
(defalias 'sql-get-product-feature #[(product feature &optional fallback not-indirect) "\306	\"\307\nA\"\n\203>\f\204$
\203$
=\204$\310
\"\202D\f\235\203:
\204:\f9\203:\fJ\202D\f\202D\311\312\"\210\313*\207" [product sql-product-alist p feature v fallback assoc plist-get sql-get-product-feature message "`%s' is not a known product; use `sql-add-product' to add it first." nil sql-indirect-features not-indirect] 3 (#$ . 92751)])
#@275 Configure font-lock and imenu with product-specific settings.

The KEYWORDS-ONLY flag is passed to font-lock to specify whether
only keywords should be highlighted and syntactic highlighting
skipped.  The IMENU flag indicates whether `imenu-mode' should
also be configured.
(defalias 'sql-product-font-lock #[(keywords-only imenu) "\306 \307\303!\210\310	\311=?\205\312	\313\"\312\311\313\"\nC#\314\315!\210\307\305!\210\303\f\316F\317\320!\203B\321\320!\203B\203B\322\323!\210\322\316!\210\324\325\326\323\316$\210\205R\211)\207" [syntax-alist sql-product sql-mode-font-lock-object-name sql-mode-font-lock-keywords keywords-only font-lock-defaults sql-product-font-lock-syntax-alist make-local-variable append ansi sql-get-product-feature :font-lock kill-local-variable font-lock-set-defaults t fboundp font-lock-mode boundp font-lock-mode-internal nil add-hook font-lock-mode-hook #[nil "\303\304\300!\203\202\f	!\210\305\n!\207" [font-lock-preprocessor-face font-lock-keyword-face font-lock-string-face (lambda (#1=#:def-tmp-var) (defvar font-lock-builtin-face #1#)) boundp (lambda (#1#) (defvar font-lock-doc-face #1#))] 3] imenu imenu-syntax-alist] 5 (#$ . 93626)])
#@630 Add highlighting KEYWORDS for SQL PRODUCT.

PRODUCT should be a symbol, the name of a SQL product, such as
`oracle'.  KEYWORDS should be a list; see the variable
`font-lock-keywords'.  By default they are added at the beginning
of the current highlighting list.  If optional argument APPEND is
`set', they are used to replace the current highlighting list.
If APPEND is any other non-nil value, they are added at the end
of the current highlighting list.

For example:

 (sql-add-product-keywords 'ms
  '(("\\b\\w+_t\\b" . font-lock-type-face)))

adds a fontification pattern to fontify identifiers ending in
`_t' as data types.
(defalias 'sql-add-product-keywords #[(product keywords &optional append) "\306\307	\310\"\306\nJ\n\f\311=\203
\202&\f\203\"\304
\"\202&\304
\"L+\207" [sql-indirect-features product font-lock-var old-val append keywords nil sql-get-product-feature :font-lock set] 4 (#$ . 94825)])
#@66 Iterates through login parameters and returns a list of results.
(defalias 'sql-for-each-login #[(login-params body) "\301\302\303\304\"\"\207" [login-params delq nil mapcar #[(param) "<\203\n@\206<\205A\n	\"*\207" [param plist token body] 3]] 5 (#$ . 95752)])
(defalias 'sql-product-syntax-table #[nil "\303!\304\305\306\n\307\"\"\210	)\207" [sql-mode-syntax-table table sql-product copy-syntax-table mapc #[(entry) "\302@A	#\207" [entry table modify-syntax-entry] 4] sql-get-product-feature :syntax-alist] 5])
(defalias 'sql-product-font-lock-syntax-alist #[nil "\301\302\303\304\305\"\"\306\"\207" [sql-product append mapcar #[(entry) "A\301\302O\303\230\203@\304A\302\305OPB\207\207" [entry 0 1 "_" "w" nil] 5] sql-get-product-feature :syntax-alist ((95 . "w"))] 6])
#@61 Turn on the font highlighting for the SQL product selected.
(defalias 'sql-highlight-product #[nil "\302\303!\205\304\305 !\210\306\307\310\"\210\311\312\313\"\206\314!\315Q\211\207" [sql-product mode-name derived-mode-p sql-mode set-syntax-table sql-product-syntax-table sql-product-font-lock nil t "SQL[" sql-get-product-feature :name symbol-name "]"] 4 (#$ . 96554)])
#@67 Set `sql-product' to PRODUCT and enable appropriate highlighting.
(defalias 'sql-set-product #[(product) ";\203	\303!\304	\"\204\305\306\"\210\307\310 \207" [product sql-product-alist sql-product intern assoc error "SQL product %s is not supported; treated as ANSI" ansi sql-highlight-product] 3 (#$ . 96938) (list (sql-read-product "SQL product: "))])
(byte-code "\300\301!\204\302\301\303\"\210\300\207" [fboundp comint-line-beginning-position defalias #[nil "\212\300\301!\210`)\207" [comint-bol nil] 2 "Return the buffer position of the beginning of the line, after any prompt.\nThe prompt is assumed to be any text at the beginning of the line\nmatching the regular expression `comint-prompt-regexp', a buffer\nlocal variable."]] 3)
(defalias 'sql-statement-regexp #[(prod) "\303\304\305\"\303	\305\"\306\n\203\202\307\310\n\311\260\312Q*\207" [ansi-stmt prod prod-stmt sql-get-product-feature ansi :statement "^\\<" "\\(" "\\|" "\\)" "\\>"] 6])
#@65 Moves the cursor to the beginning of the current SQL statement.
(defalias 'sql-beginning-of-statement #[(arg) "`\306!\307\211\310
[!\206e\310\311!\206d\nb\210\312	\313\311$\2035\314\315 8\2035\316\225b\210\202\317 \203?\316\224\202@\nb\210\320 \210\f`U\205R\321\322
!\323_!,\207" [sql-product next last regexp here arg sql-statement-regexp nil sql-end-of-statement 1 re-search-forward t 7 syntax-ppss 0 match-data beginning-of-line sql-beginning-of-statement sql-signum 2] 5 (#$ . 97917) "p"])
#@59 Moves the cursor to the end of the current SQL statement.
(defalias 'sql-end-of-statement #[(arg) "\306\307\"\310	V\203\311\202\312`\310\211:\203
@\313	!\310U\204b\310	V\2031\314
!\204=\310	W\203B\315
!\203B\316\202D\317\f
\320\321\n$\204R\310\202\322\323 8\204	\313	!Z\202\324 \203l\310\225\202mb,\207" [sql-product arg n here re-search term sql-get-product-feature :terminator 0 re-search-backward re-search-forward sql-signum looking-back looking-at 2 1 nil t 7 syntax-ppss match-data] 6 (#$ . 98436) "p"])
#@88 Insert "o" and call `comint-send-input'.
`sql-electric-stuff' must be the symbol `go'.
(defalias 'sql-magic-go #[(arg) "\302\303!!\210	\304\232\205\212\305\306!\210\307\310!)\205\311 \207" [arg sql-electric-stuff self-insert-command prefix-numeric-value go comint-bol nil looking-at "go\\b" comint-send-input] 3 (#$ . 98984) "P"])
#@101 Insert semicolon and call `comint-send-input'.
`sql-electric-stuff' must be the symbol `semicolon'.
(defalias 'sql-magic-semicolon #[(arg) "\302\303!!\210	\304\232\205\305 \207" [arg sql-electric-stuff self-insert-command prefix-numeric-value semicolon comint-send-input] 3 (#$ . 99327) "P"])
#@42 Continue SQL statement on the next line.
(defalias 'sql-accumulate-and-indent #[nil "\300\301!\203\f\301 \210\202\302 \210\303 \207" [fboundp comint-accumulate newline indent-according-to-mode] 2 (#$ . 99629) nil])
#@150 Generate listing of products available for use under SQLi.

List products with :free-software attribute set to FREEP.  Indent
each line with INDENT.
(defalias 'sql-help-list-products #[(indent freep) "\306\211\307\n\306\211\203I\f@\310\311\312@!P!\313	!\203B\314@\315\"
=\203B\314@\316\"\2069\312@!\317\320\312	!\321\260\fA\211\204**\207" [doc sqli-func sql-product-alist p --dolist-tail-- freep nil "" intern "sql-" symbol-name fboundp sql-get-product-feature :free-software :name ":	" "\\[" "]\n" indent] 8 (#$ . 99854)])
#@1222 Show short help for the SQL modes.

Use an entry function to open an interactive SQL buffer.  This buffer is
usually named `*SQL*'.  The name of the major mode is SQLi.

Use the following commands to start a specific SQL interpreter:

    \\FREE

Other non-free SQL implementations are also supported:

    \\NONFREE

But we urge you to choose a free implementation instead of these.

You can also use \[sql-product-interactive] to invoke the
interpreter for the current `sql-product'.

Once you have the SQLi buffer, you can enter SQL statements in the
buffer.  The output generated is appended to the buffer and a new prompt
is generated.  See the In/Out menu in the SQLi buffer for some functions
that help you navigate through the buffer, the input history, etc.

If you have a really complex SQL statement or if you are writing a
procedure, you can do this in a separate buffer.  Put the new buffer in
`sql-mode' by calling \[sql-mode].  The name of this buffer can be
anything.  The name of the major mode is SQL.

In this SQL buffer (SQL mode), you can send the region or the entire
buffer to the interactive SQL buffer (SQLi mode).  The results are
appended to the SQLi buffer without disturbing your SQL buffer.
(defalias 'sql-help #[nil "\302\303\304\"\305\305\306\307	\310#\203!\311\312\313\314	\"\304\"\304\211	\310%\304\306\315	\310#\2039\311\312\313\314	\"\305\"\304\211	\310%\304\203C\316\303\317	#\210*\320\303!\207" [changedp doc documentation sql-help t nil string-match "^\\(\\s-*\\)[\\\\][\\\\]FREE\\s-*\n" 0 replace-match sql-help-list-products match-string 1 "^\\(\\s-*\\)[\\\\][\\\\]NONFREE\\s-*\n" put function-documentation describe-function] 6 (#$ . 100410) nil])
#@76 Read a password using PROMPT.  Optional DEFAULT is password to start with.
(defalias 'sql-read-passwd #[(prompt &optional default) "\302\303	#\207" [prompt default read-passwd nil] 4 (#$ . 102117)])
#@602 Prompt user with extended login parameters.

The global value of SYMBOL is the last value and the global value
of the SYMBOL is set based on the user's input.

If PLIST is nil, then the user is simply prompted for a string
value.

The property `:default' specifies the default value.  If the
`:number' property is non-nil then ask for a number.

The `:file' property prompts for a file name that must match the
regexp pattern specified in its value.

The `:completion' property prompts for a string specified by its
value.  (The property value is used as the PREDICATE argument to
`completing-read'.)
(defalias 'sql-get-login-ext #[(symbol prompt history-var plist) "\306\307	\310\"\311!\n\2030\312\313\f\"\203#\314\315\316\n\"\317\211\f\320%\2021\321\322\315\323\n\"\f\317\211%\2021\f\324(\325	\326\"\203e\327\330\f\331!\n\317\332!\307	\326\"\205_\333\334\312\335\336\307	\326\"\337BBB\340BBE&!\202\260\325	\341\"\203}\342
\307	\341\"\324\317)\n&\202\260\307	\343\"\203\223\344\f\n\206\217\206\217\345\"\202\260\346
\324\211)\324&\211*\347\230\203\255\n\206\257\347\202\257*),\"\207" [symbol plist default last-value prompt prompt-def set-default plist-get :default default-value string-match "\\(\\):[ 	]*\\'" replace-match format " (default \"%s\")" t 1 replace-regexp-in-string "[ 	]*\\'" " (default \"%s\") " nil plist-member :file expand-file-name read-file-name file-name-directory file-name-nondirectory lambda (f) concat "\\<" ("\\>") ((file-name-nondirectory f)) :completion completing-read :number read-number 0 read-from-minibuffer "" use-dialog-box history-var r] 18 (#$ . 102324)])
#@1114 Get username, password and database from the user.

The variables `sql-user', `sql-password', `sql-server', and
`sql-database' can be customized.  They are used as the default values.
Usernames, servers and databases are stored in `sql-user-history',
`sql-server-history' and `database-history'.  Passwords are not stored
in a history.

Parameter WHAT is a list of tokens passed as arguments in the
function call.  The function asks for the username if WHAT
contains the symbol `user', for the password if it contains the
symbol `password', for the server if it contains the symbol
`server', and for the database if it contains the symbol
`database'.  The members of WHAT are processed in the order in
which they are provided.

Each token may also be a list with the token in the car and a
plist of options as the cdr.  The following properties are
supported:

    :file <filename-regexp>
    :completion <list-of-strings-or-function>
    :default <default-value>
    :number t

In order to ask the user for username, password and database, call the
function like this: (sql-get-login 'user 'password 'database).
(defalias 'sql-get-login #[(&rest what) "\301\302\"\207" [what mapcar #[(w) ":\203\n@\206:\205A\211\304=\203#\305\306\307\310	$\202`\n\311=\2033\312\303\313\314\"\"\202`\n\315=\203B\305\316\317\320	$\202`\n\321=\203Q\305\322\323\324	$\202`\n\325=\205`\305\326\327\330\331\332	\"$*\207" [w plist token sql-password user sql-get-login-ext sql-user "User: " sql-user-history password set-default sql-read-passwd "Password: " server sql-server "Server: " sql-server-history database sql-database "Database: " sql-database-history port sql-port "Port: " nil append (:number t)] 8]] 3 (#$ . 103962) nil])
#@162 Returns the name of the current default SQLi buffer or nil.
In order to qualify, the SQLi buffer must be alive, be in
`sql-interactive-mode' and have a process.
(defalias 'sql-find-sqli-buffer #[(&optional product connection) "	\206\n\306\f
#\203\f\2061\307\300!\211\203(\306\f
#\203(\f\2061\310\311\312\313\314 \"\"@*\207" [sql-buffer product sql-product prod buf connection sql-buffer-live-p default-value apply append mapcar #[(b) "\303	\n#\205\f\304!C\207" [b prod connection sql-buffer-live-p buffer-name] 4] buffer-list] 5 (#$ . 105704)])
#@345 Set SQLi buffer for all SQL buffers that have none.
This function checks all SQL buffers for their SQLi buffer.  If their
SQLi buffer is nonexistent or has no process, it is set to the current
default SQLi buffer.  The current default SQLi buffer is determined
using `sql-find-sqli-buffer'.  If `sql-buffer' is set,
`sql-set-sqli-hook' is run.
(defalias 'sql-set-sqli-buffer-generally #[nil "\212\304 \305 \306\303\"\210	??\2056	@\211q\210\307\310!\203.\311!\204.\203.\312\313!\210)	A\211\202
+\207" [default-buffer buflist candidate sql-buffer buffer-list sql-find-sqli-buffer set-default derived-mode-p sql-mode sql-buffer-live-p run-hooks sql-set-sqli-hook] 4 (#$ . 106273) nil])
#@364 Set the SQLi buffer SQL strings are sent to.

Call this function in a SQL buffer in order to set the SQLi buffer SQL
strings are sent to.  Calling this function sets `sql-buffer' and runs
`sql-set-sqli-hook'.

If you call it from a SQL buffer, this sets the local copy of
`sql-buffer'.

If you call it from anywhere else, it sets the global copy of
`sql-buffer'.
(defalias 'sql-set-sqli-buffer #[nil "\303 \211\204
\304\305!\202*\306\307\310#\311	!\204 \304\312	\"\202)	\205)	\313\314!))\207" [default-buffer new-buffer sql-buffer sql-find-sqli-buffer error "There is no suitable SQLi buffer" read-buffer "New SQLi buffer: " t sql-buffer-live-p "Buffer %s is not a working SQLi buffer" run-hooks sql-set-sqli-hook] 5 (#$ . 106977) nil])
#@176 Show the name of current SQLi buffer.

This is the buffer SQL strings are sent to.  It is stored in the
variable `sql-buffer'.  See `sql-help' on how to create such a buffer.
(defalias 'sql-show-sqli-buffer #[nil "\203\f\301\302!!\204\303\304\305p!\"\207\306!\204\303\307\"\207\303\310\"\207" [sql-buffer buffer-live-p get-buffer message "%s has no SQLi buffer set." buffer-name get-buffer-process "Buffer %s has no process." "Current SQLi buffer is %s."] 4 (#$ . 107730) nil])
#@405 Return a string that can be used to rename a SQLi buffer.

This is used to set `sql-alternate-buffer-name' within
`sql-interactive-mode'.

If the session was started with `sql-connect' then the alternate
name would be the name of the connection.

Otherwise, it uses the parameters identified by the :sqlilogin
parameter.

If all else fails, the alternate name would be the user and
server/database name.
(defalias 'sql-make-alternate-buffer-name #[nil "\306\307\310\307\311\312\313\314	\315\"\316\"#A\"\n\203\"\317\320\n\206\306#\202_\206'\306\306\230\203^\306\230\203A\321 \306\230?\205D\321 \322P\202D\322P\f\306\230\203Y
\306\230\203U\323 \202Z
\202Z\fP\202_)\207" [name sql-product sql-connection sql-user sql-database sql-server #1="" apply concat append nil sql-for-each-login sql-get-product-feature :sqli-login #[(token plist) "\306=\203	\307\230?\205o\310	D\207\311=\203*\n\247?\206 \n\312U?\205o\313\314\n!D\207\315=\203H\307\230?\205o\316\317\f\320\"\203E\321!\202FD\207\322=\203f
\307\230?\205o\323\317\f\320\"\203c\321
!\202d
D\207\324=\203n\325\207\325\207" [token sql-user sql-port sql-server plist sql-database user #1# "/" port 0 ":" number-to-string server "." plist-member :file file-name-nondirectory database "@" password nil] 4] format "<%s>%s" user-login-name "/" system-name] 9 (#$ . 108225)])
#@303 Rename a SQL interactive buffer.

Prompts for the new name if command is preceded by
\[universal-argument].  If no buffer name is provided, then the
`sql-alternate-buffer-name' is used.

The actual buffer name set will be "*SQL: NEW-NAME*".  If
NEW-NAME is empty, then the buffer name will be "*SQL*".
(defalias 'sql-rename-buffer #[(&optional new-name) "\302\303!\204\n\304\305!\207;\203\202 :\203\306\307	\"\202 	\310	\311\230\203,\312\2020\313\314	\"\315\"\207" [new-name sql-alternate-buffer-name derived-mode-p sql-interactive-mode message "Current buffer is not a SQL interactive buffer" read-string "Buffer name (\"*SQL: XXX*\"; enter `XXX'): " rename-buffer "" "*SQL*" format "*SQL: %s*" t] 4 (#$ . 109594) "P"])
#@84 Copy current column to the end of buffer.
Inserts SELECT or commas if appropriate.
(defalias 'sql-copy-column #[nil "\302\212\303\304u\210\305\304!\210`\306\304!\210`\"db\210\307 \211`U\203%\310c\210\202>\212\311\312	\313#)\2035\314c\210\202>h\315=\204>\316c\210)c\210\317\320\"*\207" [column bol nil buffer-substring-no-properties 1 backward-sexp forward-sexp comint-line-beginning-position "SELECT " re-search-backward "\\b\\(\\(into\\s-+\\S-+\\s-+(\\)\\|select\\|order by\\) .+" t ", " 32 " " message "%s"] 5 (#$ . 110334) nil])
#@37 History of placeholder values used.
(defvar sql-placeholder-history nil (#$ . 110882))
#@95 Replace placeholders in STRING.
Placeholders are words starting with an ampersand like &this.
(defalias 'sql-placeholders-filter #[(string) "\203!\302\303	\"\203!\304\305\306\307\310\311	\"\"\312\211\211\313%\314\211	$\202	\207" [sql-oracle-scan-on string string-match "&\\(\\sw+\\)" replace-match read-from-minibuffer format "Enter value for %s: " match-string 1 nil sql-placeholder-history t] 7 (#$ . 110975)])
#@99 Escape newlines in STRING.
Every newline in STRING will be preceded with a space and a backslash.
(defalias 'sql-escape-newlines-filter #[(string) "\204	\207\306\307\310\211\311\312	\f#\203>\307\224\307\225
	\fO\313V\2036	\314ZO\315\230\2036\306\2027\316Q\n\202
	\f\310OP,\207" [sql-db2-escape-newlines string me mb start result "" 0 nil string-match "\n" 1 2 " \\" " \\\n"] 5 (#$ . 111400)])
#@90 Number of newlines in the input string.

Allows the suppression of continuation prompts.
(defvar sql-output-newline-count 0 (#$ . 111820))
#@73 Non-nil if the command in the input was generated by `sql-send-string'.
(defvar sql-output-by-send nil (#$ . 111965))
#@45 Send STRING to PROC after applying filters.
(defalias 'sql-input-sender #[(proc string) "r\306!q\210	)\307\n\310\"\211\203)\311!\203\f!\202)<\203)\312\313\"\210\314\312\315\f\"\210\316\f\"*\207" [proc sql-product product filter string sql-output-newline-count process-buffer sql-get-product-feature :input-filter functionp mapc #[(f) "	!\211\207" [f string] 2] 0 #[(ch) "\302=\205\n	T\211\207" [ch sql-output-newline-count 10] 2] comint-simple-send] 4 (#$ . 112089)])
(defvar sql-preoutput-hold nil)
#@736 Strip out continuation prompts out of the OLINE.

Added to the `comint-preoutput-filter-functions' hook in a SQL
interactive buffer.  If `sql-output-newline-count' is greater than
zero, then an output line matching the continuation prompt is filtered
out.  If the count is zero, then a newline is inserted into the output
to force the output from the query to appear on a new line.

The complication to this filter is that the continuation prompts
may arrive in multiple chunks.  If they do, then the function
saves any unfiltered output in a buffer and prepends that buffer
to the next chunk to properly match the broken-up prompt.

If the filter gets confused, it should reset and stop filtering
to avoid deleting non-prompt output.
(defalias 'sql-interactive-remove-continuation-prompt #[(oline) "\306	\206\307\nP\306\203j\f\250\203j\f\310Y\203j\n\307\230\204D\f\311V\203D\312\n\"\203D\311\224\311U\203D\313\307\306\211\n$\fS\314\202\f\311U\203U\306\315\nP\306\202Y\n\307\204l	\206b\307\306\211\202l\306\n)\207" [did-filter sql-preoutput-hold oline comint-prompt-regexp sql-output-newline-count sql-output-by-send nil "" 1 0 string-match replace-match t "\n"] 6 (#$ . 112616)])
#@41 Send the string STR to the SQL process.
(defalias 'sql-send-string #[(str) "\306\307\310\311#\312!\203:\212rq\210\313\314!	\"\210\f\203$\315	\f#\210\316\317\"\210*
\2034\320!\202=\321!\202=\316\322!*\207" [str s comint-input-sender-no-newline sql-buffer sql-send-terminator sql-pop-to-buffer-after-send-region nil replace-regexp-in-string "[[:space:]\n
]+\\'" "" sql-buffer-live-p sql-input-sender get-buffer-process sql-send-magic-terminator message "Sent string to buffer %s." pop-to-buffer display-buffer "No SQL process started."] 5 (#$ . 113837) "sSQL Text: "])
#@35 Send a region to the SQL process.
(defalias 'sql-send-region #[(start end) "\302\303	\"!\207" [start end sql-send-string buffer-substring-no-properties] 4 (#$ . 114425) "r"])
#@48 Send the current paragraph to the SQL process.
(defalias 'sql-send-paragraph #[nil "\212\302 \210`)\212\303 \210`)\304	\"*\207" [end start backward-paragraph forward-paragraph sql-send-region] 3 (#$ . 114607) nil])
#@46 Send the buffer contents to the SQL process.
(defalias 'sql-send-buffer #[nil "\300ed\"\207" [sql-send-region] 3 (#$ . 114831) nil])
#@58 Send TERMINATOR to buffer BUF if its not present in STR.
(defalias 'sql-send-magic-terminator #[(buf str terminator) "\306\211\211\307=\203\310\f\311\"\204\312;\203%\313!\2020:\2030@A	\203A\203A\314	\315P
\"\204W\316\317!\"\210\203TT\202U\320\307\211+\207" [term pat comint-input-sender-no-newline terminator sql-product str nil t sql-get-product-feature :terminator ";" regexp-quote string-match "\\'" comint-simple-send get-buffer-process 1 buf sql-output-newline-count sql-output-by-send] 3 (#$ . 114970)])
#@37 Replace tab characters with spaces.
(defalias 'sql-remove-tabs-filter #[(str) "\301\302\303\304\305%\207" [str replace-regexp-in-string "	" " " nil t] 6 (#$ . 115527)])
#@147 Toggle `sql-pop-to-buffer-after-send-region'.

If given the optional parameter VALUE, sets
`sql-toggle-pop-to-buffer-after-send-region' to VALUE.
(defalias 'sql-toggle-pop-to-buffer-after-send-region #[(&optional value) "\203\211\207	?\211\207" [value sql-pop-to-buffer-after-send-region] 2 (#$ . 115704) "P"])
#@65 If non-nil, display messages related to the use of redirection.
(defvar sql-debug-redirect nil (#$ . 116027))
(defalias 'sql-str-literal #[(s) "\301\302\303\304#\301Q\207" [s "'" replace-regexp-in-string "[']" "''"] 5])
#@401 Execute the SQL command and send output to OUTBUF.

SQLBUF must be an active SQL interactive buffer.  OUTBUF may be
an existing buffer, or the name of a non-existing buffer.  If
omitted the output is sent to a temporary buffer which will be
killed after the command completes.  COMMAND should be a string
of commands accepted by the SQLi program.  COMMAND may also be a
list of SQLi command strings.
(defalias 'sql-redirect #[(sqlbuf command &optional outbuf save-prior) "\205\305\306O\307\230?\211\203\310\311!\210\n:\203!\312\313\n\"\210\202(\314\n\f$\210	\205/\310\315!)\207" [outbuf visible command sqlbuf save-prior 0 1 " " message "Executing SQL command..." mapc #[(c) "\304	\n$\207" [sqlbuf c outbuf save-prior sql-redirect-one] 5] sql-redirect-one "Executing SQL command...done"] 6 (#$ . 116255)])
(defalias 'sql-redirect-one #[(sqlbuf command outbuf save-prior) "rq\210\306	\206\n\307!\310p!\311\n\312\"\313!r!q\210\313\"#\204(\314 \210db\210\315\316 !\2045\317c\210`)$\203C\320\321%\"\210\322%!
\313\323%\210&\204Z\324\313\325\"\210\202Mr!q\210db\210\326\327\"\203o\330\224\330\225|\210b\210\331\332\333%!\334Q!\203\204\330\224\330\225|\210b\210\335\336\313\323#\203\230\337\340\323\211#\210\202\207b.\207" [sqlbuf outbuf sql-product start comint-prompt-regexp proc get-buffer-create " *SQL-Redirect*" get-buffer-process sql-get-product-feature :prompt-regexp nil erase-buffer zerop buffer-size "\n" message ">>SQL> %S" comint-redirect-send-command-to-process t accept-process-output 1 looking-back "[ 	\f\n
]*" 0 looking-at "^" regexp-quote "[\\n]" re-search-forward "
+$" replace-match "" buf view-read-only save-prior sql-debug-redirect command comint-redirect-completed] 6])
#@440 Execute the SQL command and return part of result.

SQLBUF must be an active SQL interactive buffer.  COMMAND should
be a string of commands accepted by the SQLi program.  From the
output, the REGEXP is repeatedly matched and the list of
REGEXP-GROUPS submatches is returned.  This behaves much like
\[comint-redirect-results-list-from-process] but instead of
returning a single submatch it returns a list of each submatch
for each match.
(defalias 'sql-redirect-value #[(sqlbuf command regexp &optional regexp-groups) "\306\307\310\n	\307$\210r	q\210\311\f\307\312#\203o
\204C\313 G\314\245\307\315V\203=S\316!B\202%*\202i
\247\203N\316
!\202i
:\203Z\317\320
\"\202i
;\203e\321
!\202i\322\323
\"B\202)\203|\324\325\326!\"\210\237*\207" [results outbuf sqlbuf command regexp regexp-groups " *SQL-Redirect-values*" nil sql-redirect re-search-forward t match-data 2 0 match-string mapcar #[(c) "\247\203	\301!\207;\203\302!\207\303\304\"\207" [c match-string match-substitute-replacement error "sql-redirect-value: unknown REGEXP-GROUPS value - %s"] 3] match-substitute-replacement error "sql-redirect-value: unknown REGEXP-GROUPS value - %s" message ">>SQL> = %S" reverse r i sql-debug-redirect] 5 (#$ . 117996)])
#@412 Executes a command in a SQL interactive buffer and captures the output.

The commands are run in SQLBUF and the output saved in OUTBUF.
COMMAND must be a string, a function or a list of such elements.
Functions are called with SQLBUF, OUTBUF and ARG as parameters;
strings are formatted with ARG and executed.

If the results are empty the OUTBUF is deleted, otherwise the
buffer is popped into a view window. 
(defalias 'sql-execute #[(sqlbuf outbuf command enhanced arg) "\304\305:\203\202\306B\"\210\307	!\310\311	!!\203 \312	!\207\313 \314 =r	q\210\315\306!\210\316)\317	!\210\n\205;\320 )\207" [command outbuf one-win view-read-only mapc #[(c) ";\203\305	\n\203\306\n\"\202#\210\307\207\310!\203%	\f\n$\207\311\312\"\207" [c sqlbuf arg outbuf enhanced sql-redirect format t functionp error "Unknown sql-execute item %s"] 5] nil get-buffer zerop buffer-size kill-buffer selected-window get-lru-window set-buffer-modified-p t view-buffer-other-window shrink-window-if-larger-than-buffer] 4 (#$ . 119265)])
#@55 List objects or details in a separate display buffer.
(defalias 'sql-execute-feature #[(sqlbuf outbuf feature enhanced arg) "\306r	q\210\307\n\")\204\310\311\n#\210:\203'\f\203$A\202&@\312	
\f%)\207" [command sqlbuf sql-product feature enhanced outbuf nil sql-get-product-feature error "%s does not support %s" sql-execute arg] 6 (#$ . 120307)])
#@101 A list of database objects used for completion.

The list is maintained in SQL interactive buffers.
(defvar sql-completion-object nil (#$ . 120677))
#@97 A list of column names used for completion.

The list is maintained in SQL interactive buffers.
(defvar sql-completion-column nil (#$ . 120832))
#@68 Generate a list of objects in the database for use as completions.
(defalias 'sql-build-completions-1 #[(schema completion-list feature) "\306	\"\211\205E\307\310J\311\np
\307B#\"\307\f\211
\2039
@\211\f\f\235\2040\f\fB
A\211
\204 \307\f\f\210*\312\f\313\")L)\207" [sql-product feature f completion-list cl schema sql-get-product-feature nil append apply sort string< e --dolist-tail--] 9 (#$ . 120983)])
#@66 Generate a list of names in the database for use as completions.
(defalias 'sql-build-completions #[(schema) "\301\302\303#\210\301\304\305#\207" [schema sql-build-completions-1 sql-completion-object :completion-object sql-completion-column :completion-column] 4 (#$ . 121412)])
(defvar sql-completion-sqlbuf nil)
(defalias 'sql-try-completion #[(string collection &optional predicate) "\205\224rq\210\306\307	\"\205\310\311	\"\227\204\312\313!\210\n\203Z\n\314P\nGT\313\f\204Q
\203Q
@GY\205J
@\315O\227\230
A\202/\f\204Y\312\n!\210,)\204g\316	\"\202\223\317=\203u\320	\"\202\223\321=\203\203\322	\"\202\223@\323=\205\223\324	\313A$)\207" [sql-completion-sqlbuf string schema sql-completion-object has-schema names string-match "\\`\\(\\sw\\(:?\\sw\\|\\s_\\)*\\)[.]" match-string 1 sql-build-completions nil "." 0 try-completion t all-completions lambda test-completion boundaries completion-boundaries schema-len schema-dot predicate] 5])
#@36 Read the name of a database table.
(defalias 'sql-read-table-name #[(prompt) "\306\307p\"\205\310\311!\205\312\313\224\313\225\"\314 r	q\210\n)\315\316\317\"\2031\320
\321\322\211%\2025\323
\",\207" [tname sql-completion-sqlbuf sql-product product completion-ignore-case prompt buffer-local-value sql-contains-names thing-at-point-looking-at "\\_<\\sw\\(:?\\sw\\|\\s_\\)*\\(?:[.]+\\sw\\(?:\\sw\\|\\s_\\)*\\)*\\_>" buffer-substring-no-properties 0 sql-find-sqli-buffer t sql-get-product-feature :completion-object completing-read sql-try-completion nil read-from-minibuffer] 6 (#$ . 122411)])
#@153 List all database objects.
With optional prefix argument ENHANCED, displays additional
details or extends the listing to include other schemas objects.
(defalias 'sql-list-all #[(&optional enhanced) "\304 \211\204\305\306!\210\307\310\311	\312%\210rq\210\313\302!\210\314\313\303!\210\211*\207" [sqlbuf enhanced sql-contains-names sql-buffer sql-find-sqli-buffer error "No SQL interactive buffer found" sql-execute-feature "*List All*" :list-all nil make-local-variable t] 7 (#$ . 123023) "P"])
#@176 List the details of a database table named NAME.
Displays the columns in the relation.  With optional prefix argument
ENHANCED, displays additional details about each column.
(defalias 'sql-list-table #[(name &optional enhanced) "\303 \211\204\304\305!\210	\204\304\306!\210\307\310\311	\"\312\n	%)\207" [sqlbuf name enhanced sql-find-sqli-buffer error "No SQL interactive buffer found" "No table name specified" sql-execute-feature format "*List %s*" :list-table] 7 (#$ . 123533) (list (sql-read-table-name "Table name: ") current-prefix-arg)])
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [sql-mode-hook variable-documentation put purecopy "Hook run when entering SQL mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp sql-mode-map definition-name sql-mode] 5)
(defvar sql-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [sql-mode-map variable-documentation put purecopy "Keymap for `sql-mode'." boundp sql-mode-syntax-table definition-name sql-mode] 5)
(defvar sql-mode-syntax-table (make-syntax-table))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [sql-mode-syntax-table variable-documentation put purecopy "Syntax table for `sql-mode'." sql-mode derived-mode-parent prog-mode] 5)
#@1037 Major mode to edit SQL.

You can send SQL statements to the SQLi buffer using
\[sql-send-region].  Such a buffer must exist before you can do this.
See `sql-help' on how to create SQLi buffers.

\{sql-mode-map}
Customization: Entry to this mode runs the `sql-mode-hook'.

When you put a buffer in SQL mode, the buffer stores the last SQLi
buffer created as its destination in the variable `sql-buffer'.  This
will be the buffer \[sql-send-region] sends the region to.  If this
SQLi buffer is killed, \[sql-send-region] is no longer able to
determine where the strings should be sent to.  You can set the
value of `sql-buffer' using \[sql-set-sqli-buffer].

For information on how to create multiple SQLi buffers, see
`sql-interactive-mode'.

Note that SQL doesn't have an escape character unless you specify
one.  If you specify backslash as escape character in SQL, you
must tell Emacs.  Here's how to do that in your init file:

(add-hook 'sql-mode-hook
          (lambda ()
	    (modify-syntax-entry ?\\ "." sql-mode-syntax-table)))
(defalias 'sql-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324!\210\325\f!\210%&'\203S\326'!\210\306\327!\210\330\306\331!\210()\307*\306\332!\210\333\306\334!\210\335\336+\306\337!\210\307\340\341\342\307\211$\210)\343\344!\207" [delay-mode-hooks major-mode mode-name sql-mode-map sql-mode-syntax-table parent make-local-variable t prog-mode sql-mode "SQL" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table use-local-map set-syntax-table easy-menu-add comment-start "--" sql-buffer paragraph-separate "[\f]*$" paragraph-start "[\n\f]" 1 sql-contains-names add-hook hack-local-variables-hook sql-highlight-product run-mode-hooks sql-mode-hook sql-mode-abbrev-table local-abbrev-table sql-mode-menu sql-imenu-generic-expression imenu-generic-expression imenu-case-fold-search abbrev-all-caps] 6 (#$ . 124989) nil])
(put 'sql-interactive-mode 'mode-class 'special)
#@2883 Major mode to use a SQL interpreter interactively.

Do not call this function by yourself.  The environment must be
initialized by an entry function specific for the SQL interpreter.
See `sql-help' for a list of available entry functions.

\[comint-send-input] after the end of the process' output sends the
text from the end of process to the end of the current line.
\[comint-send-input] before end of process output copies the current
line minus the prompt to the end of the buffer and sends it.
\[comint-copy-old-input] just copies the current line.
Use \[sql-accumulate-and-indent] to enter multi-line statements.

If you want to make multiple SQL buffers, rename the `*SQL*' buffer
using \[rename-buffer] or \[rename-uniquely] and start a new process.
See `sql-help' for a list of available entry functions.  The last buffer
created by such an entry function is the current SQLi buffer.  SQL
buffers will send strings to the SQLi buffer current at the time of
their creation.  See `sql-mode' for details.

Sample session using two connections:

1. Create first SQLi buffer by calling an entry function.
2. Rename buffer "*SQL*" to "*Connection 1*".
3. Create a SQL buffer "test1.sql".
4. Create second SQLi buffer by calling an entry function.
5. Rename buffer "*SQL*" to "*Connection 2*".
6. Create a SQL buffer "test2.sql".

Now \[sql-send-region] in buffer "test1.sql" will send the region to
buffer "*Connection 1*", \[sql-send-region] in buffer "test2.sql"
will send the region to buffer "*Connection 2*".

If you accidentally suspend your process, use \[comint-continue-subjob]
to continue it.  On some operating systems, this will not work because
the signals are not supported.

\{sql-interactive-mode-map}
Customization: Entry to this mode runs the hooks on `comint-mode-hook'
and `sql-interactive-mode-hook' (in that order).  Before each input, the
hooks on `comint-input-filter-functions' are run.  After each SQL
interpreter output, the hooks on `comint-output-filter-functions' are
run.

Variable `sql-input-ring-file-name' controls the initialization of the
input ring history.

Variables `comint-output-filter-functions', a hook, and
`comint-scroll-to-bottom-on-input' and
`comint-scroll-to-bottom-on-output' control whether input and output
cause the window to scroll to the end of the buffer.

If you want to make SQL buffers limited in length, add the function
`comint-truncate-buffer' to `comint-output-filter-functions'.

Here is an example for your init file.  It keeps the SQLi buffer a
certain length.

(add-hook 'sql-interactive-mode-hook
    (function (lambda ()
        (setq comint-output-filter-functions 'comint-truncate-buffer))))

Here is another example.  It will always put point back to the statement
you entered, right above the output it created.

(setq comint-output-filter-functions
       (function (lambda (STR) (comint-show-output))))
(defalias 'sql-interactive-mode #[nil "\306\300!\210\307\310 \210)\306\302!\210	\206\n\311\312\313\n\314\"\206!\315\n!\316Q\317
!\210;\2032\320;!\210\321<!\210\322\307\323\"\210\306\324!\210\325=>\326?\327\330p!\331\"\210\306\332!\210\306\333!\210\306\334!\210\306\335!\210\306\336!\210\337\336\323\"\210\306\340!\210\307 \306\341!\210\323!\306\342!\210\323\"\306\343!\210\344 #\306\345!\210\313\n\346\"%\306\347!\210\313\n\350\"'\306\351!\210\313\n\352\")\306\353!\210\306\354!\210\306\355!\210\356\357\360\323\307$\210\306\361!\210\306\362!\210\363\364!\210)\203\351\365%\366)\367\260\202\353%@'A\306\370!\210\37181B2C\372\307!\207" [delay-mode-hooks sql-interactive-product sql-product major-mode mode-name sql-interactive-mode-map make-local-variable t comint-mode sql-interactive-mode "SQLi[" sql-get-product-feature :name symbol-name "]" use-local-map easy-menu-add set-syntax-table sql-product-font-lock nil comment-start "--" 1 set-process-sentinel get-buffer-process sql-stop sql-user sql-database sql-server sql-port sql-connection set-default sql-contains-names sql-completion-object sql-completion-column sql-alternate-buffer-name sql-make-alternate-buffer-name sql-prompt-regexp :prompt-regexp sql-prompt-length :prompt-length sql-prompt-cont-regexp :prompt-cont-regexp sql-output-newline-count sql-preoutput-hold sql-output-by-send add-hook comint-preoutput-filter-functions sql-interactive-remove-continuation-prompt sql-input-ring-separator sql-input-ring-file-name run-mode-hooks sql-interactive-mode-hook "\\(" "\\|" "\\)" comint-input-sender sql-input-sender comint-read-input-ring sql-interactive-mode-menu sql-mode-syntax-table sql-mode-abbrev-table local-abbrev-table abbrev-all-caps comint-prompt-regexp left-margin comint-input-ring-separator comint-input-ring-file-name] 5 (#$ . 127128)])
#@295 Called when the SQL process is stopped.

Writes the input history to a history file using
`comint-write-input-ring' and inserts a short message in the SQL buffer.

This function is a sentinel watching the SQL interpreter process.
Sentinels will always get the two parameters PROCESS and EVENT.
(defalias 'sql-stop #[(process event) "\304 \210p=\203	\204\305\306\n#c\207\307\310\n#\207" [sql-buffer buffer-read-only process event comint-write-input-ring format "\nProcess %s %s\n" message "Process %s %s"] 4 (#$ . 131889)])
#@25 Read a connection name.
(defalias 'sql-read-connection #[(prompt &optional initial default) "\305\306	\307\310\n\"\311\305\312\f&)\207" [completion-ignore-case prompt sql-connection-alist initial default t completing-read mapcar #[(c) "@\207" [c] 1] nil sql-connection-history] 8 (#$ . 132425)])
#@251 Connect to an interactive session using CONNECTION settings.

See `sql-connection-alist' to see how to define connections and
their settings.

The user will not be prompted for any login parameters if a value
is specified in the connection settings.
(defalias 'sql-connect #[(connection &optional new-name) "\203X	\205]\306	\"\211\203P\307\211\211\211\310\311\307\312$\310\311\"\313\314\nA\"\315
\316\"\317\320\nA\"\210\321\322	\"\210\323\324\325DDC\326BB!,\202V\327\330	\"\210\307)\207\327\331!\210\307\207" [sql-connection-alist connection connect-set rem-params set-params login-params assoc nil sql-get-product-feature :sqli-login t mapcar #[(v) "@\301=\203	\302\207@\303=\203\304\207@\305=\203\306\207@\307=\203$\310\207@\311=\203-\312\207@\207" [v sql-user user sql-password password sql-server server sql-database database sql-port port] 2] sql-for-each-login #[(token plist) "	\235?\205\n\203\nB\207\207" [token set-params plist] 2] mapc #[(vv) "\302@\303\211A@)!\"\207" [vv x set-default eval] 5] set-default sql-connection eval let quote ((sql-product-interactive sql-product new-name)) message "SQL Connection <%s> does not exist" "No SQL Connections defined" param-var sql-product] 6 (#$ . 132732) (byte-code "\205\302\303\304\305#	D\207" [sql-connection-alist current-prefix-arg sql-read-connection "Connection: " nil (nil)] 4)])
#@170 Captures the connection information of the current SQLi session.

The information is appended to `sql-connection-alist' and
optionally is saved to the user's init file.
(defalias 'sql-save-connection #[(name) "\306\307!\204\n\310\311!\210p\312\313\"\312\314\"\312\315\"\312\316\"\312\317\"\312\320\"#	\2035\321\322!\202\231\323\n\324\"!\325$%&\326'%\"\203]\327\330\331'\"!\203]\332'%\"%\326'%\"\203n\321\333'\"\202\230\334'C\335\302&B\336\"\"$\334%$C\"%\327\337!\203\223\340\341%\"\202\230\342\341%\"+.\207" [buf connection product user database server derived-mode-p sql-interactive-mode error "Not in a SQL interactive mode!" buffer-local-value sql-connection sql-product sql-user sql-database sql-server sql-port message "This session was started by a connection; it's already been saved." sql-get-product-feature :sqli-login nil assoc yes-or-no-p format "Replace connection definition <%s>? " assq-delete-all "Connection <%s> already exists" append sql-for-each-login #[(token _plist) "\301=\203\f\306\307	DD\207\302=\203\310\nD\207\303=\203 \311D\207\304=\203*\312\fD\207\305=\2053\313
D\207" [token product user database server port sql-product quote sql-user sql-database sql-server sql-port] 3] "Save the connections for future sessions? " customize-save-variable sql-connection-alist customize-set-variable port connect alist login name] 5 (#$ . 134132) "sNew connection name: "])
#@51 Generates menu entries for using each connection.
(defalias 'sql-connection-menu-filter #[(tail) "\302\303\304\"	\"\207" [sql-connection-alist tail append mapcar #[(conn) "\305\306\307@\310\211\211\311\312\313A\314BB!,#\315@D\316#\207" [conn sql-port sql-server sql-database sql-user vector format "Connection <%s>	%s" "" 0 eval let ((sql-make-alternate-buffer-name)) sql-connect t] 8]] 4 (#$ . 135584)])
#@465 Run PRODUCT interpreter as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer `*SQL*'.

To specify the SQL product, prefix the call with
\[universal-argument].  To set the buffer name as well, prefix
the call to \[sql-product-interactive] with
\[universal-argument] \[universal-argument].

(Type \[describe-mode] in the SQL buffer for a list of commands.)
(defalias 'sql-product-interactive #[(&optional product new-name) "\204(	\204(\n:\203(\nA\204(\n@\247\203(\306\n!\307Y\203(\204&\310\311\306\n!\312U\2037\313\314\f\"\202E\n\203D\n9\203D\n\202E\f\211\203\337\315\n\316\"\205\342\317\n
\"*\204g*\203g\320*!\202\335p\321+,\322\323\315\n\324\"\"\210\325\326!\210\327\330!\327\331!\327\332!\327\333!\327\334!\315\n\316\"\n\315\n\335\"\"\210-\n-\336 \210)p+\203\260\337!\210\340\341!\210\342+!!r,q\210\343\344!\203\317\342+!!\345\346!\210)\325\347!\210\345\350!\210\320+!*)\207\325\351!\207" [executing-kbd-macro noninteractive product new-name sql-product sql-connection prefix-numeric-value 16 (4) (4) 4 sql-read-product "SQL product: " sql-get-product-feature :sqli-comint-func sql-find-sqli-buffer pop-to-buffer nil apply sql-get-login :sqli-login message "Login..." default-value sql-user sql-password sql-server sql-database sql-port :sqli-options sql-interactive-mode sql-rename-buffer make-local-variable sql-buffer buffer-name derived-mode-p sql-mode run-hooks sql-set-sqli-hook "Login...done" sql-login-hook "No default SQL product defined.  Set `sql-product'." buf new-sqli-buffer start-buffer sql-interactive-product] 7 (#$ . 136004) "P"])
#@152 Set up a comint buffer to run the SQL processor.

PRODUCT is the SQL product.  PARAMS is a list of strings which are
passed as command line arguments.
(defalias 'sql-comint #[(product params) "\306\307\"\310\311!\204\312\n!\204\313\314\n\"\210\315\316\317	\"!\203G\316\320\"\315\316\317	\"!\203G\321\315\316\317\316\322\f#\211\"!\203F\fT\2021)\323\324	\n\325
%q*\207" [product buf-name program default-directory i params sql-get-product-feature :sqli-program "SQL" file-remote-p executable-find error "Unable to locate SQL program '%s'" sql-buffer-live-p format "*%s*" "SQL-%s" 1 "SQL-%s%d" apply make-comint nil] 7 (#$ . 137720)])
#@1156 Run sqlplus by Oracle as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-oracle-program'.  Login uses
the variables `sql-user', `sql-password', and `sql-database' as
defaults, if set.  Additional command line parameters can be stored in
the list `sql-oracle-options'.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-oracle].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-oracle].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)
(defalias 'sql-oracle #[(&optional buffer) "\301\302\"\207" [buffer sql-product-interactive oracle] 3 (#$ . 138378) "P"])
#@45 Create comint buffer and connect to Oracle.
(defalias 'sql-comint-oracle #[(product options) "\306	\307\230\204\n\307\230\204	\310\nQ\202	\203'\307\230\204'\311Q\2033C\f\244\2025\f\312
\")\207" [parameter sql-user sql-password sql-database options product nil "" "/" "@" sql-comint] 3 (#$ . 139662)])
#@71 Saves most SQL*Plus settings so they may be reset by \[sql-redirect].
(defalias 'sql-oracle-save-settings #[(sqlbuf) "\301\302\303\304\305$\302\306\307\310$\302\311\312\313$\314\302\315\316\317$@\320\230\203$\321\202%\322PC$\207" [sqlbuf append sql-redirect-value "SHOW ARRAYSIZE AUTOCOMMIT AUTOPRINT AUTORECOVERY AUTOTRACE CMDSEP COLSEP COPYCOMMIT DESCRIBE ECHO EDITFILE EMBEDDED ESCAPE FLAGGER FLUSH HEADING INSTANCE LINESIZE LNO LOBOFFSET LOGSOURCE LONG LONGCHUNKSIZE NEWPAGE NULL NUMFORMAT NUMWIDTH PAGESIZE PAUSE PNO RECSEP SERVEROUTPUT SHIFTINOUT SHOWMODE SPOOL SQLBLANKLINES SQLCASE SQLCODE SQLCONTINUE SQLNUMBER SQLPROMPT SUFFIX TAB TERMOUT TIMING TRIMOUT TRIMSPOOL VERIFY" "^.+$" "SET \\&" "SHOW BLOCKTERMINATOR CONCAT DEFINE SQLPREFIX SQLTERMINATOR UNDERLINE HEADSEP RECSEPCHAR" "^\\(.+\\) (hex ..)$" "SET \\1" "SHOW FEEDBACK" "^\\(?:FEEDBACK ON for \\([[:digit:]]+\\) or more rows\\|feedback \\(OFF\\)\\)" "SET FEEDBACK \\1\\2" "SET WRAP " "SHOW WRAP" "^wrap : lines will be \\(wrapped\\|truncated\\)" 1 "wrapped" "ON" "OFF"] 10 (#$ . 139992)])
#@50 Restore the SQL*Plus settings in SAVED-SETTINGS.
(defalias 'sql-oracle-restore-settings #[(sqlbuf saved-settings) "\302\303\304!\"\210\305	\"\207" [sqlbuf saved-settings mapc #[(one-cur-setting) "\302	\"\211\207" [one-cur-setting saved-settings delete] 3] sql-oracle-save-settings sql-redirect] 4 (#$ . 141060)])
(defalias 'sql-oracle-list-all #[(sqlbuf outbuf enhanced table-name) "\306!\307\310\311\312\"\210\311\313\314\315\316\f\203\317\202\320\"E\"\210\311\f\203*	\202+\n
#\210\311\321\"\210\322\"+\207" [sqlbuf enhanced-sql simple-sql settings enhanced outbuf sql-oracle-save-settings "SELECT INITCAP(x.object_type) AS SQL_EL_TYPE , x.object_name AS SQL_EL_NAME FROM user_objects                    x WHERE x.object_type NOT LIKE '%% BODY' ORDER BY 2, 1;" "SELECT INITCAP(x.object_type) AS SQL_EL_TYPE , x.owner ||'.'|| x.object_name AS SQL_EL_NAME FROM all_objects x WHERE x.object_type NOT LIKE '%% BODY' AND x.owner <> 'SYS' ORDER BY 2, 1;" sql-redirect "SET LINESIZE 80 PAGESIZE 50000 TRIMOUT ON TAB OFF TIMING OFF FEEDBACK OFF" "COLUMN SQL_EL_TYPE  HEADING \"Type\" FORMAT A19" "COLUMN SQL_EL_NAME  HEADING \"Name\"" format "COLUMN SQL_EL_NAME  FORMAT A%d" 60 35 ("COLUMN SQL_EL_NAME CLEAR" "COLUMN SQL_EL_TYPE CLEAR") sql-oracle-restore-settings] 7])
#@38 Implements :list-table under Oracle.
(defalias 'sql-oracle-list-table #[(sqlbuf outbuf enhanced table-name) "\304!\305\306\307\310\311\312 ^]\"\"\210\305\306\313\n\"#\210\314	\")\207" [sqlbuf settings table-name outbuf sql-oracle-save-settings sql-redirect format "SET LINESIZE %d PAGESIZE 50000 DESCRIBE DEPTH 1 LINENUM OFF INDENT ON" 65 120 window-width "DESCRIBE %s" sql-oracle-restore-settings] 7 (#$ . 142349)])
#@135 List of object types to include for completion under Oracle.

See the distinct values in ALL_OBJECTS.OBJECT_TYPE for possible values.
(custom-declare-variable 'sql-oracle-completion-types ''("FUNCTION" "PACKAGE" "PROCEDURE" "SEQUENCE" "SYNONYM" "TABLE" "TRIGGER" "TYPE" "VIEW") '(#$ . 142779) :version "24.1" :type '(repeat string) :group 'SQL)
(defalias 'sql-oracle-completion-object #[(sqlbuf schema) "\303\304	\203\305\306\307	\226!\"\202\310\311\312\313\307\n\314#\315\260\316\317$\207" [sqlbuf schema sql-oracle-completion-types sql-redirect-value "SELECT CHR(1)||" format "owner||'.'||object_name AS o FROM all_objects WHERE owner = %s AND " sql-str-literal "object_name AS o FROM user_objects WHERE " "temporary = 'N' AND generated = 'N' AND secondary = 'N' AND " "object_type IN (" mapconcat "," ");" "^[]\\(.+\\)$" 1] 10])
#@1167 Run isql by Sybase as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-sybase-program'.  Login uses
the variables `sql-server', `sql-user', `sql-password', and
`sql-database' as defaults, if set.  Additional command line parameters
can be stored in the list `sql-sybase-options'.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-sybase].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-sybase].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)
(defalias 'sql-sybase #[(&optional buffer) "\301\302\"\207" [buffer sql-product-interactive sybase] 3 (#$ . 143626) "P"])
#@45 Create comint buffer and connect to Sybase.
(defalias 'sql-comint-sybase #[(product options) "\n\306\230\204\307\310\nD	\"\306\230\204\307\311D	\"\f\306\230\204)\307\312\fD	\"
\306\230\2046\307\313
D	\"\314
	\")\207" [options params sql-server sql-database sql-password sql-user "" append "-S" "-D" "-P" "-U" sql-comint product] 3 (#$ . 144921)])
#@1047 Run dbaccess by Informix as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-informix-program'.  Login uses
the variable `sql-database' as default, if set.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-informix].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-informix].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)
(defalias 'sql-informix #[(&optional buffer) "\301\302\"\207" [buffer sql-product-interactive informix] 3 (#$ . 145291) "P"])
#@47 Create comint buffer and connect to Informix.
(defalias 'sql-comint-informix #[(product options) "\305\230\203\n\306\202	\305\230\203\202\307	Q\310\311\n\312B\f\"\")\207" [sql-database sql-server db product options "" "-" "@" sql-comint append ("-")] 5 (#$ . 146470)])
#@1185 Run sqlite as an inferior process.

SQLite is free software.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-sqlite-program'.  Login uses
the variables `sql-user', `sql-password', `sql-database', and
`sql-server' as defaults, if set.  Additional command line parameters
can be stored in the list `sql-sqlite-options'.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-sqlite].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-sqlite].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)
(defalias 'sql-sqlite #[(&optional buffer) "\301\302\"\207" [buffer sql-product-interactive sqlite] 3 (#$ . 146759) "P"])
#@45 Create comint buffer and connect to SQLite.
(defalias 'sql-comint-sqlite #[(product options) "\304	\305\230\204\306\307	!C\"\306\n\"\310\")\207" [params sql-database options product nil "" append expand-file-name sql-comint] 3 (#$ . 148072)])
(defalias 'sql-sqlite-completion-object #[(sqlbuf schema) "\301\302\303\304$\207" [sqlbuf sql-redirect-value ".tables" "\\sw\\(?:\\sw\\|\\s_\\)*" 0] 5])
#@1208 Run mysql by TcX as an inferior process.

Mysql versions 3.23 and up are free software.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-mysql-program'.  Login uses
the variables `sql-user', `sql-password', `sql-database', and
`sql-server' as defaults, if set.  Additional command line parameters
can be stored in the list `sql-mysql-options'.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-mysql].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-mysql].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)
(defalias 'sql-mysql #[(&optional buffer) "\301\302\"\207" [buffer sql-product-interactive mysql] 3 (#$ . 148486) "P"])
#@44 Create comint buffer and connect to MySQL.
(defalias 'sql-comint-mysql #[(product options) "\306	\307\230\204\310	C\"\n\307\230\204\310\311\nPC\"\312U\204,\310\313\314!PC\"\f\307\230\204:\310\315\fPC\"
\307\230\204H\310\316
PC\"\310\"\317\")\207" [params sql-database sql-server sql-port sql-password sql-user nil "" append "--host=" 0 "--port=" number-to-string "--password=" "--user=" sql-comint options product] 4 (#$ . 149820)])
#@1065 Run solsql by Solid as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-solid-program'.  Login uses
the variables `sql-user', `sql-password', and `sql-server' as
defaults, if set.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-solid].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-solid].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)
(defalias 'sql-solid #[(&optional buffer) "\301\302\"\207" [buffer sql-product-interactive solid] 3 (#$ . 150288) "P"])
#@44 Create comint buffer and connect to Solid.
(defalias 'sql-comint-solid #[(product options) "\n\306\230\204\306\230\204\307\nD	\"\f\306\230\204!\307\fC	\"\310
	\")\207" [options params sql-user sql-password sql-server product "" append sql-comint] 3 (#$ . 151479)])
#@1034 Run sql by Ingres as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-ingres-program'.  Login uses
the variable `sql-database' as default, if set.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-ingres].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-ingres].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)
(defalias 'sql-ingres #[(&optional buffer) "\301\302\"\207" [buffer sql-product-interactive ingres] 3 (#$ . 151763) "P"])
#@45 Create comint buffer and connect to Ingres.
(defalias 'sql-comint-ingres #[(product options) "\303\304	\305\230?\205\f	C\n\"\"\207" [product sql-database options sql-comint append ""] 5 (#$ . 152925)])
#@1154 Run osql by Microsoft as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-ms-program'.  Login uses the
variables `sql-user', `sql-password', `sql-database', and `sql-server'
as defaults, if set.  Additional command line parameters can be stored
in the list `sql-ms-options'.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-ms].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-ms].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)
(defalias 'sql-ms #[(&optional buffer) "\301\302\"\207" [buffer sql-product-interactive ms] 3 (#$ . 153137) "P"])
#@59 Create comint buffer and connect to Microsoft SQL Server.
(defalias 'sql-comint-ms #[(product options) "\n\306\230\204\307\310\nD	\"\306\230\204\307\311D	\"\f\306\230\204)\307\312\fD	\"
\306\230\2049\307\313
D	\"\202N\f\306\230\203H\307\314C	\"\202N\307	\313C\"\315	\")\207" [options params sql-server sql-database sql-user sql-password "" append "-S" "-d" "-U" "-P" "-E" sql-comint product] 3 (#$ . 154411)])
#@1420 Run psql by Postgres as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-postgres-program'.  Login uses
the variables `sql-database' and `sql-server' as default, if set.
Additional command line parameters can be stored in the list
`sql-postgres-options'.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-postgres].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-postgres].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.  If your output lines end with ^M,
your might try undecided-dos as a coding system.  If this doesn't help,
Try to set `comint-output-filter-functions' like this:

(setq comint-output-filter-functions (append comint-output-filter-functions
					     '(comint-strip-ctrl-m)))

(Type \[describe-mode] in the SQL buffer for a list of commands.)
(defalias 'sql-postgres #[(&optional buffer) "\301\302\"\207" [buffer sql-product-interactive postgres] 3 (#$ . 154850) "P"])
#@47 Create comint buffer and connect to Postgres.
(defalias 'sql-comint-postgres #[(product options) "\n\306\230\204\307	\nC\"\306\230\204\307\310D	\"\f\306\230\204(\307\311\fD	\"
\312U\2047\307\313\314
!D	\"\315	\")\207" [options params sql-database sql-server sql-user sql-port "" append "-h" "-U" 0 "-p" number-to-string sql-comint product] 4 (#$ . 156402)])
(defalias 'sql-postgres-completion-object #[(sqlbuf schema) "\306\211\211\211\211\307
\310\"\210\311
\312\313\314$@\211\315\230\203\"\307
\312\"\210\311
\316\317\314$@\206-\320\321\n\322\n\323\n\322\n\324\n\325\n\324\n\326\260$\204N\311
\327\330$\202n\331\311
\332\333$\"\334$\311
\332\335$\"\336$\311
\332\337$\"\340$#\307
\341\"\210	\315\230\204\307
\312\"\210\342\343\f\"-\207" [r a fs re cl sqlbuf nil sql-redirect "\\t on" sql-redirect-value "\\a" "Output format is \\(.*\\)[.]$" 1 "aligned" "\\f" "Field separator is \"\\(.\\)[.]$" "|" "^\\([^" "]*\\)" "\\([^" "[^" "]*" "]*$" "\\d" (1 2) append format "\\dt %s.*" (1 2) "\\dv %s.*" (1 2) "\\ds %s.*" (1 2) "\\t off" mapcar #[(tbl) "@\302\230\203\211A@)\207\303\304@\211A@)#\207" [tbl x "public" format "%s.%s"] 5] schema] 16])
#@1081 Run isql by Interbase as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-interbase-program'.  Login
uses the variables `sql-user', `sql-password', and `sql-database' as
defaults, if set.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-interbase].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-interbase].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)
(defalias 'sql-interbase #[(&optional buffer) "\301\302\"\207" [buffer sql-product-interactive interbase] 3 (#$ . 157600) "P"])
#@48 Create comint buffer and connect to Interbase.
(defalias 'sql-comint-interbase #[(product options) "\n\306\230\204\307\310\nD	\"\306\230\204\307\311D	\"\f\306\230\204&\f	B\312
	\")\207" [options params sql-user sql-password sql-database product "" append "-u" "-p" sql-comint] 3 (#$ . 158815)])
#@1260 Run db2 by IBM as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-db2-program'.  There is not
automatic login.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

If you use \[sql-accumulate-and-indent] to send multiline commands to
db2, newlines will be escaped if necessary.  If you don't want that, set
`comint-input-sender' back to `comint-simple-send' by writing an after
advice.  See the elisp manual for more information.

To set the buffer name directly, use \[universal-argument]
before \[sql-db2].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

To specify a coding system for converting non-ASCII characters
in the input and output to the process, use \[universal-coding-system-argument]
before \[sql-db2].  You can also specify this with \[set-buffer-process-coding-system]
in the SQL buffer, after you start the process.
The default comes from `process-coding-system-alist' and
`default-process-coding-system'.

(Type \[describe-mode] in the SQL buffer for a list of commands.)
(defalias 'sql-db2 #[(&optional buffer) "\301\302\"\207" [buffer sql-product-interactive db2] 3 (#$ . 159130) "P"])
#@42 Create comint buffer and connect to DB2.
(defalias 'sql-comint-db2 #[(product options) "\302	\"\207" [product options sql-comint] 3 (#$ . 160512)])
#@1145 Run inl by RELEX as an inferior process.

If buffer `*SQL*' exists but no process is running, make a new process.
If buffer exists and a process is running, just switch to buffer
`*SQL*'.

Interpreter used comes from variable `sql-linter-program' - usually `inl'.
Login uses the variables `sql-user', `sql-password', `sql-database' and
`sql-server' as defaults, if set.  Additional command line parameters
can be stored in the list `sql-linter-options'.  Run inl -h to get help on
parameters.

`sql-database' is used to set the LINTER_MBX environment variable for
local connections, `sql-server' refers to the server name from the
`nodetab' file for the network connection (dbc_tcp or friends must run
for this to work).  If `sql-password' is an empty string, inl will use
an empty password.

The buffer is put in SQL interactive mode, giving commands for sending
input.  See `sql-interactive-mode'.

To set the buffer name directly, use \[universal-argument]
before \[sql-linter].  Once session has started,
\[sql-rename-buffer] can be called separately to rename the
buffer.

(Type \[describe-mode] in the SQL buffer for a list of commands.)
(defalias 'sql-linter #[(&optional buffer) "\301\302\"\207" [buffer sql-product-interactive linter] 3 (#$ . 160669) "P"])
#@45 Create comint buffer and connect to Linter.
(defalias 'sql-comint-linter #[(product options) "\306\307\310!\f\311\230\204\f\312
Q\313\314\nD\"\311\230\204)\313\315D\"\311\230\2038\316\310\306\"\210\202>\316\310\"\210\317\"\210\316\310	\"+\207" [options old-mbx login params sql-user sql-password nil getenv "LINTER_MBX" "" "/" append "-u" "-n" setenv sql-comint sql-server sql-database product] 4 (#$ . 161942)])
(provide 'sql)

MMCT - 2023