After the release of Eloquence B.08.00 a number of bug fixes and enhancements were released
as patches, providing improved functionality, performance and reliability.
The user visible changes implemented through these patches (along with critical bug fixes)
are covered in this document (relative to the original B.08.00 release).
This document extends on the Eloquence
B.08.00 release notes and
reflects the changes in the Eloquence patch bundle
Critical fixes for corner-case issues in the database server include
- During an automatic forward-log file switch it could happen in rare
cases that transactions were not written to the forward-log.
- Renaming a database could cause the database server process to abort.
- Internal memory leaks were fixed.
- The database server could hang due to an internal deadlock.
- The database server could fail to start with an inconsistent generation
count error message.
- In rare cases the buffer cache could fail to write a page modification
to disk, resulting in an incorrect free-list page link/pointer.
- The database server could abort after an overflow of an internal counter
- Searching an index could cause the database server to abort.
User visible changes to the database server include
The dbctl forwardlog status command no longer requires dba
The dbctl list command was enhanced. A filter expression may be
specified and the /count option may be used to only obtain the
number of matching entries.
$ dbctl list session "pname=*query3k*"
$ dbctl list lock /count "status=blocked"
Please refer to the dbctl documentation for details:
The database server enables dbutil to change item order.
When a dbutil ADD ITEM data set clause is used to add an item
of type P (packed) to a data set, the subsequent restructuring
process now initializes this new P item to unsigned zero.
Previously, a new P item was initialized to binary zero.
Improved database compatibility checks on DBOPEN have been implemented
to prevent opening incompatible databases from newer Eloquence versions.
Database utility changes include
The dbfsck memory consumption has been significantly reduced.
This causes a noticable improvement of the pass 1 runtime and
allows to use dbfsck on large database environments.
Progress information has been added which is output when the
-v command line option is specified. If enabled, progress info
is output every minute to stdout.
The command line example below redirects dbfsck messages
to a log file while progress info is output to the terminal:
$ dbfsck -v 2>dbfsck.log
Example progress message output:
Processed 222437 of 556094 pages (40%)
Progress information output is suppressed if pass 1 is skipped.
A 64 bit dbfsck build is now available for the HP-UX (PA-RISC 2.0
and Itanium) and Windows platforms.
Large database environment sizes (approximately above 400 GB) may
require the 64 bit dbfsck version to overcome a 32 bit address
space limitation. If the 32 bit dbfsck issues a memory allocation
failure, the 64 bit dbfsck should be used.
On Linux, the x86_64 and ia64 builds provide a 64 bit dbfsck,
while the i686 build provides a 32 bit dbfsck.
dbutil was enhanced to support changing item order.
The ORDER ITEMS BY NAME statement may be used to order the
items by name.
ORDER ITEMS BY NAME;
The CHANGE ITEM syntax was enhanced to support changing
the item order. The ORDER BEFORE|AFTER clause may be used
to specify the new item position, relative to another item.
CHANGE ITEM NAME2 ORDER AFTER NAME1;
CHANGE ITEM CUSTNO ORDER BEFORE NAME1;
The CREATE ITEM syntax was enhanced to support specifying
the item order. The BEFORE|AFTER clause may be used to
specify the new item position, relative to another item.
If not specified, items are added at the end.
CREATE ITEM NAME2,X30 AFTER NAME1;
The dbrepl utility now issues an additional exit code 3 in case
a connection problem is detected, for example if the replication
slave server is temporarily unavailable.
The exit codes issued by dbrepl are:
0 - successful execution, graceful exit
(will only be issued if the -S or -G command line option is
used and dbrepl executed normally until the existing log or
the current generation has been processed)
1 - failure, typically requires manual intervention
(for example, a configuration problem on the replication
master or slave servers)
2 - invalid or -help command line option
(the command line usage was output)
3 - connection problem
(could not connect or lost the connection to the replication
Exit code 3 may be used in a script to retry the dbrepl invocation.
Preferably, repeated invocations should be appropriately delayed,
for example by sleeping 60 seconds between two invocations.
When processing an audit file, any comment records are now output to
Audit comment records are used to record any problems that may have
occurred while the original forward-log was processed. When an archived
audit file is later used with fwaudit, these comment record messages
are now output to stderr. Previously they were output to stdout along
with the clear-text report.
In addition, the warning messages written to comment records have been
revised so that they now clearly indicate that they were created while
the original forward-log was processed.
Changes to the Eloquence programming language include
Valid PRINTER numbers were extended from -2:99 to -2:999.
Added the POPUPBOX option to the config file to allow enabling
function keys to interrupt a POPUP BOX statement.
When enabled, a defined FUNCTION KEY or HALT interrupts a POPUP BOX
statement and returns -1 as the selected choice.
This function is enabled in the configuration file by specifying
the option POPUPBOX and the asssociated config value. For example:
option popupbox 7
The option value is bit encoded:
1 = sfk
2 = halt
4 = ESC
Please note that this functionality is not available when using
the DLG driver.