Function: sql-oracle-save-settings
sql-oracle-save-settings is a byte-compiled function defined in
sql.el.gz.
Signature
(sql-oracle-save-settings SQLBUF)
Documentation
Save most SQL*Plus settings so they may be reset by M-x sql-redirect (sql-redirect).
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/sql.el.gz
(defun sql-oracle-save-settings (sqlbuf)
"Save most SQL*Plus settings so they may be reset by \\[sql-redirect]."
;; Note: does not capture the following settings:
;;
;; APPINFO
;; BTITLE
;; COMPATIBILITY
;; COPYTYPECHECK
;; MARKUP
;; RELEASE
;; REPFOOTER
;; REPHEADER
;; SQLPLUSCOMPATIBILITY
;; TTITLE
;; USER
;;
(append
;; (apply #'concat (append
;; '("SET")
;; option value...
(sql-redirect-value
sqlbuf
(concat "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 \\&")
;; option "c" (hex xx)
(sql-redirect-value
sqlbuf
(concat "SHOW BLOCKTERMINATOR CONCAT DEFINE SQLPREFIX SQLTERMINATOR"
" UNDERLINE HEADSEP RECSEPCHAR")
"^\\(.+\\) (hex ..)$"
"SET \\1")
;; FEEDBACK ON for 99 or more rows
;; feedback OFF
(sql-redirect-value
sqlbuf
"SHOW FEEDBACK"
"^\\(?:FEEDBACK ON for \\([[:digit:]]+\\) or more rows\\|feedback \\(OFF\\)\\)"
"SET FEEDBACK \\1\\2")
;; wrap : lines will be wrapped
;; wrap : lines will be truncated
(list (concat "SET WRAP "
(if (string=
(car (sql-redirect-value
sqlbuf
"SHOW WRAP"
"^wrap : lines will be \\(wrapped\\|truncated\\)" 1))
"wrapped")
"ON" "OFF")))))