---------------------------------------------------------------------- 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