[ Main document |
This document covers all changes relative to previous versions of the
Eloquence TurboIMAGE compatibility extension as well as any known
problems and limitations.
The following recent change might affect you if you are using the
Eloquence database and/or TurboIMAGE client API libraries on the
This section keeps track of all user visible changes relative to
- Fixed a problem with the DBFIND mode 1 call to enable usage
with master sets and search items when btreemode1 is set.
Please note that this feature is currently not enabled on the
- Changed image3k library version code to B.07.00.07
- DBXUNDO mode 3 resulted in status -31
- Alignment requirements for the database argument were removed.
The database argument was previously required to be 16-bit aligned.
This is consistent with the HP3000. However some compilers may
not align the base variable properly if it is defined as a
string. The image3k library has been changed to no longer require
specific alignment for the database argument (#1683).
- Changed image3k library version code to B.07.00.06
B.07.00 pre-release 9 (X2309):
- XBEGIN mode 3 resulted in status -31
- Fixed a problem in the Eloquence client side library
related to search items other than first. You need the
Eloquence database client library X.23.09.01 or above for
this to work correctly.
- Added Linux glibc2.2 build.
- The product code returned by DBINFO mode 801 has been
changed from HP Eloquence to Eloquence.
- Changed library version code to A.07.00.02
B.07.00 pre-release 8 (X2308):
- The image3k library revision id was changed to "A.07.00.01".
- Documented use of for database properties to define the
image3k library defaults.
Database properties allow persistent configuration settings
for a database and have been previously undocumented.
Database properties can be defined with the dbutil utility using
the SET command.
- DBINFO 501 (subsystem access) return value is defined with
the HP3K_SUBSYSTEM property.
- DBINFO mode 833 returned status -21 for a master set
if the set name was specified.
- DBINFO mode 833 returned the wrong item offset. Instead of
returning the offset into the item the offset into the key buffer
was returned (#1382, fixed with version X.23.07.03).
B.07.00 pre-release 7 (X2307):
- A compatibility problem with DBGET mode 4 was fixed.
It is now valid to pass the record number argument from an
element of the status array (eg. a previous DBFIND status).
Previously, the status array was initialized before the
arguments were evaluated.
- An internal buffer could overflow during item list
verification and result in an application abort.
- Fixed DBCONTROL. Status element 1 could be uninitialized
- Fixed a compatibility problem with TPI DBFIND modes 1 and 21.
The argument parsing now only matches match the first index segment
(or any leading string segments).
- DBCONTROL modes 15 and 16 are now supported to control
btreemode1 mode and wildcard.
- Added initial support for btreemode1 in DBFIND (modes 1, 4,
21 and 24). Modes 4 and 24 can also be used for index access
as an alternative to the TPI modes.
- Fixed a build problem with the image3k shared library.
The path to the libeqdb shared library is now embedded.
- Fixed DBINFO compatibility problems:
- Mode 209: A detail set is allowed as an argument
- modes 403, 406, 833: Fixed an endian problem with
- Mode 502: Fixed wrong status 1 returned instead of 0
- Initial support for IMAGE indexes (btreemode1) has been added.
The schema processor understands the /INDEXED if specified in the
schema file and DBINFO and DBFIND have been modified accordingly.
As of this pre-release, support on the server side is not
- DBINFO mode 113 and 209 now support btreemode1 of returned
by the database server rather then returning static values.
- Initial support has been added to allow persistent configuration
of database settings, such as the default CIUPDATE flag and the
default CIUPDATE flag setting.
- DBINFO mode 502 has been modified to returns the default setting
of the CIUPDATE flag.
- DBINFO mode 113 returns the initial and current settings for
btreemode1 and the wildcard to be used with DBFIND modes 1 and 21.
- DBINFO mode 901 does no longer return a static value
but the language id returned can be configured with the
database (not yet available).
- Preliminary support for search items in manual master sets
which are not the first item in the entry has been added.
Previous Eloquence versions required that the first item in a
manual master set was used as the search item while TurboIMAGE
allows to use a different search item.
Currently, this option must be enabled explicitely by specifying
the -x command line option to the schema processor, otherwise an
error message is issued by schema (#1230).
- DBUPDATE modes 1 does no longer allow to change
sort items unless the CIUPDATE flag is set. Previously, updating
of sort items was allowed in mode 1 but the sort order was not
- The image3k library verifies the binary compatibility of the
unterlying libeqdb library. In case an incompatibility is detected,
DBOPEN fails with status -91.
This verification is not possible with libeqdb versions before
B.07.00 PR#7 and incompatible libraries versions will result in an
- DBLOCK status element 2 returns the number of lock descriptors
that were successfully applied in the DBLOCK request. For DBLOCK
modes 1 through 4 and 11 through 14 this will be 1.
With Eloquence predicate locks are processed atomically and either
succeed or a database status is returned. The number of lock descriptors
is always idendential to the argument.
- DBINFO mode 406 returns the database name (without any
connection information) truncated to 28 characters.
Previous versions returned the first 28 characters from the
database name passed to DBOPEN.
- DBUNLOCK status elements 2-4 are set to zero.
The number of released lock descriptors in status element 2
is not available.
B.07.00 pre-release 6 (X2306):
The EQ_DBSERVER, EQ_DBUSER and EQ_DBPASSWORD environment variables
can be used to specify the default data base server, user and
password. Please refer to the sections on
Data Base Names
for a description.
The DBLOGON call has been added to allow providing authorisation
information as an alternative to specify the data base password
and identity with DBOPEN.
DBXUNDO returns the current transaction nesting level in
status element 2. A new mode 5 has been added which allows to roll-back
all levels of transactions (in case of nested transactions).
This is equivalent to Eloquence DBROLLBACK mode 3.
DBXEND returns the current transaction nesting level in
status element 2. A new mode 5 has been added which allows to commit
all levels of transactions (in case of nested transactions).
This is equivalent to Eloquence DBCOMMIT mode 2.
DBINFO modes 403 and 406 have been added.
The Database identifier gets replaced with spaces on a
successfull DBCLOSE mode 1.
Database identifiers returned by DBOPEN start with 1 instead of 0.
Previous versions returned 0 as database identifier for the first database
opened which could cause problems if applications rely on a nonzero value.
The list argument no longer relies on specific alignment if a string
argument is passed. Any argument passed which is not 16 bit aligned is
considered a string argument and not a binary list of items.
Previous B.07.00 pre-releases always required 16 bit alignment.
DBOPEN mode 7 is mapped to Eloquence DBOPEN mode 8 which allows
concurrent read-only access but prohibits any concurrent read-write access.
Previously mode 7 was mapped to Eloquence DBOPEN mode 9 which
allows concurrent modification.
DBINFO returned negative item numbers even if the database was opened
in read-only mode (such as with mode 101, 103 or 104). DBINFO now returns
positive item numbers when the database is opened in read-only mode.
DBINFO returned negative data set numbers even if the database was
opened in read-only mode (such as with mode 201, 203 or 204).
DBINFO now returns positive data set numbers when the database is
opened in read-only mode.
DBINFO mode 403 returns the Eloquence transaction identifier in
element 8-9 and the current transaction nesting level in element 14.
DBINFO mode 406 returns the current schema version and the number
of data items, index items and data sets of a database.
Minor corrections with some DBINFO returns. The new documentation
section on DBINFO modes provides a detailed
overview and implementation notes on DBINFO.
The prototype for the DBERROR function has been fixed in the image3k
header file. In the previous version the text length was marked a const
pointer, which was not appropriate.
A DBFIND on a search item could result in a crash if an index item
with the same name as the search item existed but was not used with
the specified data set.
B.07.00 pre-release 4 (X2304):
DBINFO returned the size of P type items in bytes instead of
The static image3k library is additionally provided for
applications which do not allow dynamic linking. We however do not
recommend to link your programs statically as this will require
re-linking in case of a bug fix or new version.
B.07.00 pre-release 3 (X2303):
Item lists are supported (DBGET, DBPUT and DBUPDATE).
Index items can have the same name as a data item.
Support for the TurboIMAGE TPI functionality has been added.
New database limits are supported.
Upper case entry points for the TurboIMAGE intrinsics have been created
in addition to the lower case ones. This makes it possible to use upper
case image calls from languages other than C or C++.
DBINFO mode 801 has been added which allows to identify the version of
the TurboIMAGE compatibility library.
See below for additonal documentation.
DBINFO modes 701, 702, 703, 704, 705 have been added.
These DBINFO modes implement the equivalent of the
HP Eloqunence DBINFO modes 501 to 505.
B.07.00 pre-release 1 (X2301):
- DBINFO mode 202 and 205 returned the entry size in bytes instead
of 16 bit words.
This section keeps track of known problems which are scheduled
to be fixed by a subsequent version.
DBFIND modes 1,4,21 and 24 are implemented but can currently not
be used with search items. They may be used with an Eloquence index item.
IMAGE btree access ("superchains") will be added with a feature patch
after the B.07.00 release.