----------------------------------------------------------------------

ELOQUENCE B.07.10 - patch PE71-0802150

----------------------------------------------------------------------

This patch provides enhancement and/or defect fixes for the eloqcore
program as released with Eloquence B.07.10. This patch will be 
integrated in the Eloquence B.07.10 release.

Eloquence B.07.10 must be installed before applying this patch.

Severity:
 PE71-0802150: ENHANCEMENT, BUG FIX

Superseded patches:
 PE71-0801140: ENHANCEMENT, BUG FIX
 PE71-0709110: BUG FIX
 PE71-0706130: BUG FIX
 PE71-0706040: BUG FIX
 PE71-0704300: ENHANCEMENT, BUG FIX
 PE71-0602284: BUG FIX
 PE71-0602100: BUG FIX

Note: This branch of eloqcore patches DOES NOT support the new 
MEMSIZE feature to extend the available variable memory. 
Please refer to the patch PE71-0802151 for this functionality.


Patch PE71-0802150
------------------

Platforms: All

* CALL DLL could in some cases cause eloqcore to abort due to
  writing beyond the bounds of the DLL communication buffer (#3514).
  The buffer size was not correctly verified.

* The QFIND IN statement was adapted to support case insensitive
  indexes (#1073). Support for case insensitive indexes was
  introduced with database server patch PE71-0802120.

Platforms: Linux

* A wrapped line (more than 80 characters) could cause a screen
  corruption when scrolling down (#3538).

Platforms: Windows

* Changed the Windows file version to "7.1.0.27"


Patch PE71-0801140
------------------

Platforms: All

* Fixed a rare problem with client side caching that could result 
  in DBGET mode 5 returning previous results instead of failing 
  with a status code (#3511).

  This problem may happen in some cases if the following conditions 
  are met:
  - A database server patch level PE71-0704110 or newer is used
  - The database client side caching is enabled
  - A previous DBFIND mode 1 (chained) was successful and had more
    than a single result but the results were only partially obtained
  - A DBFIND on an index failed with status 17

  In this case a DBGET mode 5 may possibly return results from the 
  previous DBFIND mode 1 instead of failing with a status 15.

* Add support for JDLG printing.

  When using a recent JDLG 1.3.2 PRINTER 10 output may be redirected
  to JDLG and output to a printer connected to the client system.

  Please note that printer data is passed through and the printer 
  must be able to handle the data.

* Fixed problem with DBOPEN failing when transaction was active
  on previously closed database (#3484).

Platforms: Windows

* Changed the Windows file version to "7.1.0.25"


Patch PE71-0709110
------------------

Platforms: All

* DBFIND was modified to NOT reset the current record number
  when called from eloqcore. This fixes a potential backwards 
  compatibility problem.

* Fixed a problem with CALL DLL and string struct member 
  variables (#3309). Passing a string member variable by reference
  in a CALL DLL statement resulted in corrupted data passed to or
  from an Eloquence DLL.

* Improved internal diagnostics on LOAD DLL or CALL DLL failure
  (#3402).  Additional diagnostics on LOAD DLL or CALL DLL
  failure causes is available if the -t option or the K1 debug 
  flag is set.

Platforms: Windows

* Changed the Windows file version to "7.1.0.22"


Patch PE71-0706130
------------------

Platforms: All

* The previous patch PE71-0706040 introduced a problem that could
  cause a hang in asynchronous DLG operation (#3361).


Platforms: Windows

* Changed the Windows file version to "7.1.0.20"


Patch PE71-0706040
------------------

Platforms: All

* A DLG connection could abort unexpectedly with an error message
  as below (#3361):
  
  N0: tcp_poll: select() failed. [4] Interrupted system call


Platforms: HP-UX

* If using a HP terminal type on HP-UX, the IDLOK terminal option 
  is disabled to workaround a problem in the HP-UX xcurses library.

  The EQ_USE_IDLOK environment variable may be used to specify the
  use of the idlok terminal option. A zero value disables use, a
  non-zero value enables this option.


Platforms: Windows

* Changed the Windows file version to "7.1.0.18"


Patch PE71-0704300
------------------

Platforms: All

* A SORTORDER configuration option was added to eloq.config and the 
  user/group specific configuration files.

  SORTORDER may be used to specify the sort order that is used for
  string comparisons performed by the SORT BY statement and the LEX
  function.

  If SORTORDER is not defined, an OS specific collating sequence is
  used as defined by the LANG, LC_COLLATE or ELOQLANG environment
  variables. This is backwards compatible to previous eloqcore 
  versions.

  If SORTORDER is present it specifies an Eloquence specific 
  collating sequence.

  Syntax:
  
    SORTORDER spec

  spec - The collating sequence is defined as a language specifier
         and either a "fold" or "nofold" modifier separated by a @
         character, such as "french@nofold".

  A "fold" sort order interleaves upper- and lowercase characters,
  such as AaBbCc...Zz, where a "nofold" sort order separates upper-
  and lowercase characters, such as "ABC...Z abc...z".

  On HP-UX and Linux the available collating sequences are installed
  in the /opt/eloquence6/lib/nls/collate directory. On Windows they
  are installed in the lib/nls/collate subdirectory below the Eloquence
  installation directory.

* This patch incorporates the database client library B.07.10.09. 
  This database client library version fixes problems related to 
  database caching. This library also changes the DBFIND behavior 
  to reset the current record number.
  For details please refer to patch PE71-0704100.

* Handle segment total overflow more gracefully (#2960)

  A program that exceeds the limit of the backwards compatible program 
  format may fail to load.  This change attempts to work around the
  problem. For new programs it is recommended to use the newer
  program file format introduced with A.06.00.

* SYSID$ could return garbage when the hostname exceeded 20 characters
  (#3069).  Eloquence was improperly terminating the string when the
  hostname was truncatedto 20 characters.


Platforms: HP-UX and Linux

* The EQ_SHELL environment variable may be used to specify the shell
  that is used by the non-interactive COMMAND "!..." statement to 
  process system commands (#3355). By default the /bin/sh shell is 
  used.

* The IDLOK terminal option is enabled by default. It was initially 
  disabled to workaround a problem in the HP-UX xcurses library.
  The EQ_USE_IDLOK environment variable may be used to specify the
  use of the idlok terminal option. A zero value disables use, a
  non-zero value enables this option.


Platforms: Windows

* The keyboard mapping was incomplete (#2913). The following keys
  and key combinations are now correctly handled:

  Alt+L - move to end of display
  Alt+S - halt / single step (also Shift+F1)
  Alt+G - advanced step (also Shift+F2)

  PAUSE - equivalent to Alt+S (halt / single step)
          also in combination with Shift and/or Alt

  Ctrl+PAUSE - equivalent to Ctrl+Y (suspend program execution)

* Some special keys were not correctly handled and caused eloqcore
  to abort unexpectedly (#3065).

* Changed the Windows file version to "7.1.0.16"


Patch PE71-0602284
------------------

Platforms: Windows

* A WAIT or SLEEP statement on Windows could cause the next DLG DO
  to return a rule value of -32768 (#3033).

* Changed the Windows file version to "7.1.0.8"


Patch PE71-0602100
------------------

Platforms: All

* When caching is enabled a status code -809:225 could be returned on
  a database request.

  This patch incorporates database client library B.07.10.03 that 
  fixes this problem. For details please refer to patch PE71-0602090

  Workaround: To workaround this problem the EQ_DBACHE environment
  variable may be set to disable the use of caching: EQ_DBCACHE=0

* Changed the Windows file version to "7.1.0.7"


Installation:
-------------

Please download the patch archive that corresponds with the installed
release.  The patch files follow the conventions below:

   PE71-0802150-hpux-ia64.tar.gz
        ^       ^    ^
        |       |    Architecture / OS specific build
        |       Operating system
        Patch ID


HP-UX:

In order to install this patch, you need to unpack it with gzip and tar.
Gzip is included with HP-UX. Installation requires root privileges.

cd /opt/eloquence6
gzip -dc /path/to/PE71-0802150-hpux.tar.gz | tar xf -

Files:

   bin/eloqcore
   newconfig/config/eloq.config
   share/doc/PE71-0802150-README


Linux:

In order to install this patch, you need to unpack it with tar.
Installation requires root privileges.

cd /opt/eloquence6
tar xzf /path/to/PE71-0802150-linux.tar.gz

Files:

   bin/eloqcore
   newconfig/config/eloq.config
   share/doc/PE71-0802150-README


Windows:

Two options are available for patch installation. The patch is
available as self extracting archive for automatic installation
and as a zip archive for manual installation. Both patches are
equivalent. Installation requires administrative capabilities.

For automatic installation of this patch, please download the patch
file PE71-0802150-win32.exe file. Before installation, please
consider closing all applications and execute the patch installation
program. Installation does not require a reboot unless the patched
files were active.

For a manual installation of the patch, please download the
patch file PE71-0802150-win32.zip file and unpack its contents.
Then perform the following steps:

* Please copy the eloqcore.exe file into the bin subdirectory of your
  Eloquence installation (for example C:\Programs\Eloquence\bin).

* Please copy the eloq.config.sam file into the etc subdirectory of
  your Eloquence installation (for example C:\Programs\Eloquence\etc).

* Please copy the PE71-0802150-README.txt file into the share\doc
  subdirectory of your Eloquence installation (for example
  C:\Programs\Eloquence\share\doc).

Files:

   eloqcore.exe
   eloq.config.sam
   PE71-0802150-README.txt