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

ELOQUENCE B.07.10 - patch PE71-0801250

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

This patch fixes a defect of the Eloquence database client library
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-0801250: BUX FIX

Superseded patches:
 PE71-0704100: BUX FIX
 PE71-0702082: ENHANCEMENT
 PE71-0609180: BUX FIX
 PE71-0602090: BUX FIX


Patch PE71-0801250
------------------

Platforms: All

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

* Fixed a rare problem with client side caching that could result
  in DBGET mode 5 to return 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.

* Fixed a potential TurboIMAGE compatibility problem (#3502).

  A TurboIMAGE DBGET call that fails with a status code may
  return the current record number in the status array.

  The database client library was modified to return the current
  record number in case a DBGET call fails with a status code.
  
  Note: To return the current record number on a failed DBGET call
  a recent eloqdb6 database server version (patch PE71-0801240 or
  newer) and a recent version of the image3k TurboIMAGE compatibility
  extension (patch PE71-0801251 or newer) are required.

* Changed internal library revision to "B.07.10.12"
* Changed the Windows file version to "7.1.0.12"


Notes / Related patches:

- The following related patches (or superseding) should be installed
  with this patch:
  - PE71-0801240 - eloqdb6 server
  - PE71-0801251 - image3k TurboIMAGE compatibility extension
                   (required only if image3k functionality is used)


Patch PE71-0704100
------------------

Platforms: All

* Client side cache invalidation is performed for all instances of 
  a database the process has opened (#3299).

  When using client side caching and the same database is opened 
  more than once by a process, database calls could in some cases 
  return different results, depending on the database open that 
  was used. Database changes initiated by the process might not be
  immediately present for the other dbopen due to previously
  cached results.

  A change was made to the database to invalidate cached results
  as appropriate in all database instances opened by the process.

* The client library was modified to solve a compatibility issue 
  with TurboIMAGE applications (#3247).
  
  TurboIMAGE documents that a DBFIND resets the current record 
  number for a data set. The Eloquence DBFIND call previously did 
  not affect the current record number.

  This changed DBFIND behavior is enabled if both, this patch and 
  the corresponsing server patch PE71-0704110 (or superseding) is 
  installed.  Otherwise the behavior is unchanged.

* The client library was enhanced to make use of a HP-UX option 
  to obtain up to 500 characters from the command line for audit 
  use. Previously, on HP-UX only up to 64 characters of the
  command line were available. 

* Changed internal library revision to "B.07.10.09"
* Changed the Windows file version to "7.1.0.11"


Patch PE71-0702082
------------------

Platforms: All

* The client library was changed to enable using the the EQ_DBCACHE 
  environment variable to specifiy the max. the number of cached 
  records requested from the server (#3314).

  The following values are recognized for the EQ_DBCACHE
  environment variable:
  
  Value       Effect
  ----------  -----------------

  undefined - enable caching
  0         - disable caching
  1         - enable caching
  2 ..      - enable caching and specify a max. number of
              cached records from the server process.

  EQ_DBCACHE values other than 0 and 1 are not expected to
  be used unless instructed by support.
  
* Changed the Windows file version to "7.1.0.10"


Patch PE71-0609180
------------------

Platforms: All

* When caching is enabled a failed DBDELETE or DBUPDATE call in a
  specific context could cause the next DBGET call to fail with a
  status -809:225 (#3169).

  When caching is used, the client library maintains its own 
  notation of the current record. This information is verified by 
  the server to make sure the information is in sync. 
  Due to a defect the current record could be updated improperly 
  when a DBDELETE or DBUPDATE call failed, causing the next DBGET 
  call to fail.

* When deleting a detail entry the related automatic master
  could ramain in cache although it was deleted (#3085).
  An application could potentially encounter different behavior 
  when caching was used and a detail entry was removed. In this
  case a related automatic master entry could remain in cache
  temporarily although it was deleted as a side effect of 
  deleting the detail. The client library was changed to 
  correctly handle this situation.

* On HP-UX some process details were sometimes not uploaded to
  the server on connection start (#3082).
  The client library collects some process information and 
  uploads this to the server process for monitoring and audit
  purposes. The call to obtain the server command line could
  fail in some cases, depending on the address range used.

* Status messages for status code -809 (S_IMAGE) used the wrong
  format (#3088).
 
* Changed internal library revision to "B.07.10.06"

* Changed the Windows file version to "7.1.0.9"


Patch PE71-0602090
------------------

Platforms: All

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

  This status indicates that the current record number differs between
  the server process and the client library.

  This problem was caused by a defect in the database client library
  that in a specific case did not correctly handle a situation when
  DBGET mode 4 was previously used to set the current record number
  on a non-existing record (DBGET mode 4 returning status 17).

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

* Changed internal library revision to "B.07.10.03"

* Changed the Windows file version to "7.1.0.6"


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

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

   PE71-0801250-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-0801250-hpux.tar.gz | tar xf -

Files:

  HP-UX:
   lib/pa11_32/libeqdb.sl (HP-UX PA-RISC 1.1 32bit)
   lib/pa20_32/libeqdb.sl (HP-UX PA-RISC 2.0 32bit)
   lib/pa20_64/libeqdb.sl (HP-UX PA-RISC 2.0 64bit)
   lib/hpux32/libeqdb.sl  (HP-UX Itanium 32bit)
   lib/hpux64/libeqdb.sl  (HP-UX Itanium 64bit)
   share/doc/PE71-0801250-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-0801250-linux.tar.gz

Files:

   lib/libeqdb.so
   share/doc/PE71-0801250-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 autmatic installation of this patch, please download the patch
file PE71-0801250-win32.exe. Before installation, please consider
closing all applications, then 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-0801250-win32.zip and unpack its contents.
Then perform the following steps:

* Please copy the .dll files into the WINDOWS SYSTEM DIRECTORY
  (for example C:\Windows\System32).

* Please copy the .lib files into the lib subdirectory of your
  Eloquence installation (for example C:\Programs\Eloquence\lib).

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

Files:

   eloqdb32.dll
   eloqdb32.lib
   PE71-0801250-README.txt