---------------------------------------------------------------------- ELOQUENCE B.07.10 - patch PE71-0801251 ---------------------------------------------------------------------- This patch fixes a defect of the Eloquence image3k TurboIMAGE compatibility extension 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-0801251: ENHANCEMENT, BUG FIX Superseded patches: PE71-0710030: ENHANCEMENT PE71-0707300: ENHANCEMENT PE71-0704030: BUX FIX PE71-0605020: BUX FIX Patch PE71-0801251 ------------------ Platforms: All * The DBEXPLAIN call was enhanced to flush stdout before writing to stderr (#3483). This should improve cases where DBEXPLAIN output is not in sync with application output to stdout. * 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 image3k library was modified to return the current record number when a status code 10 to 18 is returned by a DBGET call. 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 database client library (patch PE71-0801250 or newer) are required. * Added support to DBINFO mode 833 to indicate an index is case insensitive (#1073). Previous versions of DBINFO 833 always returned an index to be case sensitive. Note: Using the case insensitive index functionality requires a recent eloqdb6 database server version (patch PE71-0801240 or newer). * Changed internal library revision to "B.07.10.10" * Changed the Windows file version to "7.1.0.11" Notes / Related patches: - The following related patches (or superseding) should be installed with this patch: - PE71-0801240 - eloqdb6 server - PE71-0801250 - database client library Patch PE71-0710030 ------------------ Platforms: All * Added an option to enhance support for the DBBEGIN/DBEND/DBMEMO calls. By default these calls have no function in the image3k library. However, in rare cases applications may require these calls for auditing purposes. By default the DBBEGIN/DBEND/DBMEMO calls have no effect. When enabled, they submit the passed text to the server for including it in the forward log file. These calls are currently not database specific, when any opened database has the DBBEGIN/DBEND/DBMEMO functionlity enabled the passed information is sent to the server. For DBBEGIN/DBEND calls different mode values are currently ignored. The passed information is considered text, passing binary values is not supported. An updated fwaudit utility (PE71-0710031 or newer) is required to make use of this information in the forward log. To enable this functionality the HP3K_API_COMPAT database property must be set as below: +1 - enable DBMEMO +2 - enable DBBEGIN/DBEND If the bit 0 in the HP3K_API_COMPAT property value is set (+1) then DBMEMO will call the server process to record the passed text argument in the forward log. By default this option is disabled. If the bit 1 in the HP3K_API_COMPAT property value is set (+2) then DBBEGIN/DBEND will call the server process to record the passed text argument in the forward log. By default this option is disabled. Setting this property can be done with the dbutil utility either interactively or using the following script: --- snip --- database ""; create property "HP3K_API_COMPAT" value "3"; --- snip --- The image3k API compatibility flags may also be changed dynamically for a database (while the database is opened) using the DBCONTROL mode 1016. mode = 1016; DBCONTROL(base, "3", &mode, status); The DBINFO mode 503 may be used to return the current API_COMPAT option value. It is substantially similar to DBINFO mode 502. Mode 503 checks the API_COMPAT option settings for the database and the current DBOPEN. The API_COMPAT option is set for the database with the DBUTIL utility or with DBCONTROL for the current DBOPEN. Qualifier is ignored. Buffer returns the following (note that each element is a halfword or two bytes): ----------------------------------------------------- | Element | Contents | ----------------------------------------------------- | 1 | API_COMPAT option | ----------------------------------------------------- | 2 | Current setting for accessor | ----------------------------------------------------- * Changed internal library revision to "B.07.10.09" * Changed the Windows file version to "7.1.0.10" Patch PE71-0707300 ------------------ Platforms: All * Added an option to recognize ">" and "<" as relational operators in DBFIND mode 1 and 21 on an index (#3397). Previous versions only recognized ==, >= and <= as relational operators. As this may cause ambiguities this option is disabled by default. To enable this function the HP3K_TPI_COMPAT database property must be set to a value that has the bit 2 set (+4). The following values are currently recognized for the HP3K_TPI_COMPAT database property: +1 - use IMAGE wildcards for TPI access +2 - support numeric values passed as text +4 - enable the < and > relational operators If the bit 0 in the HP3K_TPI_COMPAT property value is set (+1) then searching TPI indexes use the current IMAGE btree wildcard character (as defined for the database or through a DBCONTROL mode 15 call) and do not consider trailing spaces as a special case. By default this option is disabled which implements documented TPI behavior. If the bit 1 in the HP3K_TPI_COMPAT property value is set (+2) then a numeric argument may be passed as text if the argument either starts with an operator (==, <=, >= and < or > if bit 2 is set as well), a positive or the negative sign. Otherwise a binary value is assumed. As this may cause ambiguities, the default is that numeric values must be passed as a binary value. If the bit 2 in the HP3K_TPI_COMPAT property value is set (+4) then the < and > characters are recognized as operators. As this may cause ambiguities it is disabled by default. Setting this property can be done with the dbutil utility either interactively or using the following script: --- snip --- database ""; create property "HP3K_TPI_COMPAT" value "6"; --- snip --- The image3k TPI compatibility flags may also be changed dynamically (for the a session) using DBCONTROL mode 1015. * Changed internal library revision to "B.07.10.08" * Changed the Windows file version to "7.1.0.9" Patch PE71-0704030 ------------------ Platforms: All * Fixed a compatibility problem with DBFIND mode 1 or 21 on an index (#3338). An additional wildcard character (after all characters for the index value were specified) resulted in subsequent search conditions not recognized. The following example uses query3k to demonstrate the problem. > fo indexes IMATCHCODE, G10 CUSTOMERS MATCHCODE, X10 Previous behavior: >f imatchcode=">=KEL @<=KEM @" 683 ENTRIES QUALIFIED Expected results: >f imatchcode=">=KEL @<=KEM @" 3 ENTRIES QUALIFIED * Changed internal library revision to "B.07.10.07" * Changed the Windows file version to "7.1.0.8" Patch PE71-0605020 ------------------ Platforms: All * The DBLOGON call returned bad status -31 * The username and password argument was extended to 255 characters * A possible stack corruption problem was fixed if user or password arguments exceeded 32 characters * Changed internal library revision to "B.07.10.04" * 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-0801251-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-0801251-hpux.tar.gz | tar xf - Files: HP-UX: lib/pa11_32/libimage3k.sl (HP-UX PA-RISC 1.1 32bit) lib/pa20_32/libimage3k.sl (HP-UX PA-RISC 2.0 32bit) lib/pa20_64/libimage3k.sl (HP-UX PA-RISC 2.0 64bit) lib/hpux32/libimage3k.sl (HP-UX Itanium 32bit) lib/hpux64/libimage3k.sl (HP-UX Itanium 64bit) include/image3k.h share/doc/PE71-0801251-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-0801251-linux.tar.gz Files: lib/libimage3k.so include/image3k.h share/doc/PE71-0801251-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-0801251-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-0801251-win32.zip file 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-0801251-README.txt file into the share\doc subdirectory of your Eloquence installation (for example C:\Programs\Eloquence\share\doc). Files: image3k.dll image3kC.dll image3k.lib image3kC.lib image3k.def image3kC.def image3k.h PE71-0801251-README.txt