(sql-product): Use it.
(sql-mode-menu): Auto-generate the menu based on sql-product-alist.
(sql-set-product): Add completion.
(sql-highlight-oracle-keywords, sql-highlight-postgres-keywords)
(sql-highlight-linter-keywords, sql-highlight-ms-keywords)
(sql-highlight-ansi-keywords, sql-highlight-sybase-keywords)
(sql-highlight-informix-keywords, sql-highlight-interbase-keywords)
(sql-highlight-ingres-keywords, sql-highlight-solid-keywords)
(sql-highlight-mysql-keywords, sql-highlight-sqlite-keywords)
(sql-highlight-db2-keywords): Remove.
(sql-find-sqli-buffer, sql-set-sqli-buffer-generally)
(sql-highlight-product): Use derived-mode-p.
(sql-set-sqli-buffer): Use with-current-buffer.
(sql-connect-informix, sql-connect-ingres, sql-connect-oracle): Simplify.
Version 1.8.0 of sql-mode.
Simplify selection of SQL products to define highlighting and
interactive mode. Includes detailed instructions on adding
support for new products.
* sql.el (sql-product): New variable. Identifies SQL product for
use in highlighting and interactive mode.
(sql-interactive-product): New variable. SQL product for
sql-interactive-mode.
(sql-product-support): New variable. Specifies product-specific
parameters to drive highlighting and interactive mode.
(sql-imenu-generic-expression): Add more object types.
(sql-sqlite-options): Correct comment.
(sql-ms-program): Use "osql" rather than "isql".
(sql-prompt-regexp, sql-prompt-length): Update comment.
(sql-mode-menu): Add "Start SQLi session" entry. Replace
Highlighting submenu with Product menu. Fix Send Region entry.
(sql-mode-abbrev-table): Add abbreviations. Support of
SYSTEM-FLAG on define-abbrev. Support was removed with last
check-in; it now handles older Emacsen without the SYSTEM-FLAG.
(sql-mode-font-lock-object-name): Add font-lock pattern for object
names.
(sql-mode-ansi-font-lock-keywords): Set as default value.
(sql-mode-oracle-font-lock-keywords): Set as default value.
Support Oracle 9i keywords.
(sql-mode-postgres-font-lock-keywords): Set as default value.
(sql-mode-linter-font-lock-keywords): Set as default value.
(sql-mode-ms-font-lock-keywords): New variable. Support Microsoft
SQLServer 2000.
(sql-mode-sybase-font-lock-keywords)
(sql-mode-interbase-font-lock-keywords)
(sql-mode-sqlite-font-lock-keywords)
(sql-mode-strong-font-lock-keywords)
(sql-mode-mysql-font-lock-keywords)
(sql-mode-db2-font-lock-keywords): New variables. Default to ANSI
keywords.
(sql-mode-font-lock-defaults): Update comment.
(sql-product-feature): New function. Returns feature associated
with a product from `sql-product-support' alist.
(sql-product-font-lock): New function. Set font-lock support
based on `sql-product'.
(sql-add-product-keywords): New function. Add font-lock rules to
product-specific keyword variables.
(sql-set-product): New function. Set `sql-product' and apply
appropriate font-lock highlighting.
(sql-highlight-product): New function. Set font-lock support
based on a product. Also set mode name to include product name.
(sql-highlight-ansi-keywords, sql-highlight-oracle-keywords)
(sql-highlight-postgres-keywords, sql-highlight-linter-keywords):
Use `sql-set-product'.
(sql-highlight-ms-keywords)
(sql-highlight-sybase-keywords)
(sql-highlight-interbase-keywords)
(sql-highlight-strong-keywords)
(sql-highlight-mysql-keywords)
(sql-highlight-sqlite-keywords)
(sql-highlight-db2-keywords): New functions. Use
`sql-set-product'.
(sql-get-login): Prompt in the same order as the tokens.
(sql-mode): Uses `sql-product-highlight' and
`sql-product-font-lock'.
(sql-product-interactive): New function. Common portions of
product-specific interactive mode wrappers.
(sql-interactive-mode): Rewritten to use product features.
(sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql)
(sql-solid, sql-ingres, sql-ms, sql-postgres, sql-interbase)
(sql-db2, sql-linter): Use `sql-product-interactive'.
(sql-connect-oracle, sql-connect-sybase, sql-connect-informix)
(sql-connect-sqlite, sql-connect-mysql, sql-connect-solid)
(sql-connect-ingres, sql-connect-postgres)
(sql-connect-interbase, sql-connect-db2, sql-connect-linter): New
functions. Format command line parameters and invoke comint on
the appropriate interpreter. Code was in the corresponding
`sql-xyz' function before.
(sql-connect-ms): New function. Support -E argument to use
operating system credentials for authentication.
Simplify selection of SQL products to define highlighting and
interactive mode. Includes detailed instructions on adding support
for new products.
(sql-product): New variable. Identifies SQL product for use in highlighting and
interactive mode.
(sql-interactive-product): New variable. SQL product for sql-interactive-mode.
(sql-product-support): New variable. Specifies product-specific parameters to
drive highlighting and interactive mode.
(sql-imenu-generic-expression): Add more object types.
(sql-sqlite-options): Correct comment.
(sql-ms-program): Use "osql" rather than "isql".
(sql-prompt-regexp, sql-prompt-length): Update comment.
(sql-mode-menu): Add "Start SQLi session" entry. Replace Highlighting submenu
with Product menu. Fix Send Region entry.
(sql-mode-abbrev-table): Add abbreviations. Support of SYSTEM-FLAG on
define-abbrev. Support was removed with last check-in; it now handles older
Emacsen without the SYSTEM-FLAG.
(sql-mode-font-lock-object-name): Add font-lock pattern for object names.
(sql-mode-ansi-font-lock-keywords): Set as default value.
(sql-mode-oracle-font-lock-keywords): Set as default value. Support Oracle 9i
keywords.
(sql-mode-postgres-font-lock-keywords): Set as default value.
(sql-mode-linter-font-lock-keywords): Set as default value.
(sql-mode-ms-font-lock-keywords): New variable. Support Microsoft SQLServer
2000.
(sql-mode-sybase-font-lock-keywords)
(sql-mode-interbase-font-lock-keywords)
(sql-mode-sqlite-font-lock-keywords)
(sql-mode-strong-font-lock-keywords)
(sql-mode-mysql-font-lock-keywords)
(sql-mode-db2-font-lock-keywords): New variables. Default to ANSI keywords.
(sql-mode-font-lock-defaults): Update comment.
(sql-product-feature): New function. Returns feature associated with a product
from `sql-product-support' alist.
(sql-product-font-lock): New function. Set font-lock support based on
`sql-product'.
(sql-add-product-keywords): New function. Add font-lock rules to
product-specific keyword variables.
(sql-set-product): New function. Set `sql-product' and apply appropriate
font-lock highlighting.
(sql-highlight-product): New function. Set font-lock support based on a
product. Also set mode name to include product name.
(sql-highlight-ansi-keywords, sql-highlight-oracle-keywords)
(sql-highlight-postgres-keywords, sql-highlight-linter-keywords):
Use `sql-set-product'.
(sql-highlight-ms-keywords)
(sql-highlight-sybase-keywords)
(sql-highlight-interbase-keywords)
(sql-highlight-strong-keywords)
(sql-highlight-mysql-keywords)
(sql-highlight-sqlite-keywords)
(sql-highlight-db2-keywords): New functions. Use `sql-set-product'.
(sql-get-login): Prompt in the same order as the tokens.
(sql-mode): Uses `sql-product-highlight' and `sql-product-font-lock'.
(sql-product-interactive): New function. Common portions of product-specific
interactive mode wrappers.
(sql-interactive-mode): Rewritten to use product features.
(sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql)
(sql-solid, sql-ingres, sql-ms, sql-postgres, sql-interbase)
(sql-db2, sql-linter): Use `sql-product-interactive'.
(sql-connect-oracle, sql-connect-sybase, sql-connect-informix)
(sql-connect-sqlite, sql-connect-mysql, sql-connect-solid)
(sql-connect-ingres, sql-connect-postgres)
(sql-connect-interbase, sql-connect-db2, sql-connect-linter): New functions.
Format command line parameters and invoke comint on the appropriate interpreter.
Code was in the corresponding `sql-xyz' function before.
(sql-connect-ms): New function. Support -E argument to use operating system
credentials for authentication.
(sql-linter-program): New variable.
(sql-linter-options): New variable.
(sql-mode-menu): Added Linter keywords.
(sql-mode-linter-font-lock-keywords): New variable.
(sql-highlight-linter-keywords): New function.
(sql-linter): New function.
(sql-ms-options): New variable.
(sql-ms): Use it.
(sql-db2): Doc change.
(sql-help): Doc change by Christian Egli <christian.egli@stest.ch>.
(sql-mysql): Doc change by Christian Egli <christian.egli@stest.ch>.
(sql-db2): Set comint-input-sender to
sql-escape-newlines-and-send.
(sql-db2-program): New option.
(sql-db2-options): New option.
(sql-db2): New function.
(sql-mode-menu): Added highlighting entries.
(sql-highlight-oracle-keywords): New function.
(sql-highlight-postgres-keywords): New function.
(sql-highlight-ansi-keywords): New function.
(sql-help): Doc change.
(sql-sybase): Use it. Add sql-database to the list of parameters
provided for login. The options -w 2048 -n are not used any more.
(sql-postgres-options): Changed default from "--pset" to "-P".
(sql-mysql-options): Doc change.
(sql-stop): Doc change.
(sql-postgres-options): New variable.
(sql-mode-menu): Work around missing variable mark-active
in XEmacs.
(sql-mode): Added call to easy-menu-add for XEmacs compatibility.
(sql-interactive-mode): Added call to easy-menu-add for XEmacs
compatibility.
(sql-copy-column): Use comint-line-beginning-position.
(comint-line-beginning-position): Define a replacement for
comint-line-beginning-position if it is not fboundp.
(sql-mode-map): TAB is no longer defined in sql-mode-map;
it didn't have any effect anyway.
(sql-postgres): Jason Beegan's patch uses the parameters
--pset and pager=off instead of sending \\o|cat at the beginning
of the session.
(sql-ingres, sql-solid, sql-mysql, sql-informix, sql-sybase)
(sql-oracle): Ditto.
(sql-help): Doc change.
(sql-mode-oracle-font-lock-keywords): Added PL/SQL keywords, data
types and exceptions.
(sql-placeholder-history): New variable.
(sql-query-placeholders-and-send): New function that will query
the user and replace placeholders with user input.
(sql-oracle): If running on NT, set comint-input-sender to
sql-query-placeholders-and-send.
(sql-stop): If in the SQLi buffer, insert stop notification, else
present it as a message.
(sql-input-ring-separator): Doc change.
(sql-input-ring-file-name): Doc change.
(sql-interactive-mode): Use `sql-input-ring-separator' and
`sql-input-ring-file-name' to set the comint-mode equivalents
without making them local variables.
(sql-stop): Don't bind `sql-input-ring-separator' and
`sql-input-ring-file-name' dynamically to their comint-mode
equivalents.
`define-key'; instead of checking `(emacs-version)' check for
`set-keymap-parent' and `set-keymap-name' directly. Add entries
for `;' and `o' which might be electric.
(sql-electric-stuff): New user option.
(sql-magic-go): New function which uses `sql-electric-stuff'.
(sql-magic-semicolon): New function which uses
`sql-electric-stuff'.
(sql-accumulate-and-indent): Insert newline if `comint-accumulate'
is not fboundp.
(sql-oracle-options): New variable.
(sql-oracle): Use it.
(sql-imenu-generic-expression): Doc change.
(sql-find-sqli-buffer): Make sure the default-value of sql-buffer
is used.
(sql-informix): Added command line parameter "-" to force
sql-informix-program to use stdout.