This patch addresses the following:
1. the annoying oracle DESC output with a long linesize setting.
By default, dbext sets the linesize to 10000 and it's okey to be like this in order to be ready for
wide SQLs result output. Nevertheless, when a desc <table_name> command is executed the output is
messed up because sqlplus expands it to the very limit of 10000. This is rather a sqlplus bug which
may be addressed if, before executing DESC, a lower linesize is set. The patch uses a new global
variable dbext_ORA_compact_desc which is used to declare the linesize of any DESC command. For backward
compatibility the default value is 10000.
2. the non-SQL (sqlplus) commands execution
A sqlplus command (non-SQL) may be terminated by a ';' or not. The ';' delimitator for these
commands is optional but if provided it must be on the same line, otherwise the meaning is:
execute the last SQL command. For example, suppose we have the following block which we want
to execute
select 1 from dual;
set autotrace traceonly
As it is now, dbext will check for the delimitator and if can't find will add one but, unfortunately,
on a new line which will cause the "SELECT 1 FROM DUAL" to be executed twice. The patch remove the trailing
CRs and adds the delimitator on the same line.
3. clean-up sqlplus output having \r\n
There are times (I'm not sure exactly under which circumstances) when sqlplus returns lines separated by
\r\n. Some dbext strip functions don't cleanup the \r and you may end up having annoying ^M in your
output or within your column/omni-completion lists. This patch deals also with these cases.