.
contact contact

Fixed problems

 
.
  A.06.10 Release Notes


Eloquence A.06.10 fixes the following problems:

All platforms

  • FIND/SORT performance has been enhanced with the eloqdb6 data base.

  • When a data base client connected to the server, a semaphore value was updated wrongly. This could cause a hang of the data base client during startup.

  • UPC$/LWC$ on the Windows and Linux platform has been fixed.

  • Constant values were sometimes displayed in exponential form during program listing (eg. 0.2 became 2E-1).

  • dbfsck required a commmand line argument.

  • dbtables required exclusive data base access.

  • A server crash recovery could fail with a server panic due to an inconsistent usage of the transaction log during recovery. The btree_FinalCommit() function recorded a block list operation in the transaction log during crash recovery. However using the transaction log is not safe until the crash recovery succeeds. Assertion failed: !header.next in FPool_Alloc

  • A non-fatal inconsistency check caused a server panic which also prevented a server restart (Assertion failed: meta->first_recno == 0). This message incidates inconsistent meta information and should never happen. However the server should be able to recover from this situation. This condition still causes a server panic, however it the server will be able to recover from this situation and fix the meta information during crash recovery.

  • A server crash might damage an index. When a new index page was allocated and the server crashed before the checkpoint operation, the index page could be overwritten subsequently.

  • Problem during index key comparison which caused a server panic. Assertion failed: size_a >= len && size_b >= len

  • Possible data corruption. This could happen in a rare case when deleting the last record from a data set unless the data volume was set to sync mode.

    All access to the data base is performed through the internal cache system. When a cache page was marked ("pinned") as beeing used, the server did not write it back to the volume because it could contain inconsistent modifications. In this particular case it could happen that a cache page was not unmarked and thus modifications to this page were never written back to disk. As a result the database could become inconsistent when the server was shut down. This behaviour has been changed and a warning message is written to the log file in addition when a marked page is detected during a checkpoint operation.

  • The Priority of the HTTP status thread has been increased. Previously the HTTP status thread had a priority which prevented it from becoming active on a busy server.

  • DBERASE fixes. DBERASE could cause a data base server panic when erasing a single detail set. When the data base server erased path information from connected master sets it failed with "Assertion failed: lrec".

  • DBCREATE/DBPURGE/DBERASE now check for a pending transaction. Data base utility statements can not be executed when a transaction is active. This will return a status 32 (transaction nesting exceeds maximum).

  • A possible problem in the 980204 patch has been fixed. A DBUPDATE could cause an internal BTREE inconsistency.

  • The dblogreset command failed on Windows NT and Linux when called without argument (#681).

  • The index order on little endian systems (Intel) is wrong for data types other then strings. This is caused by an issue in the index compare function which is not handling byte order properly. (#659)

    This affects DBGET mode 5/6/15/16 on index items which are not of type string on Intel based systems (Windows NT, Linux). Other than that the order seems to be random, the index works correctly.

    Please note: In order to activate the fix the database must be purged and re-created. The database should be exported, purged and imported again. Erasing the database is not sufficient, since only a dbcreate will create new BTREE metadata.

  • The patch 971211 introduced a side effect which could cause under some preconditions a cache page not to become unlocked. This will cause a eloqdb6 server panic when this page is modified subsequently. (#627)
    Assertion failed: bhp->refcount == 1
    server panic: Aborting on internal failure, file mpool.c, line 1059
    
  • Problem in eloqdb6 server can cause data corruption. (#620)

  • DBFIND mode 3 / DBGET mode 16 sequence could cause eloqdb6 server panic. DBGET mode 16 may return next record after DBFIND mode 3. (#605)

    DBFIND(3)/DBGET(16) on a key value beyond the highest key in an index results in a server panic.
    DBGET(16) returns next record when previous DBFIND(3) did not find an exact match.

  • Handling programs with embedded NUL characters (#606)

    The HP260 made it possible to embed NUL characters into strings. While Eloquence is able to execute such a program, the program listing is inconsistent, since a NUL character is used internally as a string terminator. This may cause program corruption if such a program line is modified. Embedded NUL characters are now converted into a CHR$(0) expression. However this may cause a syntax error when a string constant is replaced by an expression due to an embedded NUL character when only a string constant is valid.

  • The dbvolchange utility (which is used to change data base volume properties) fails with an error message complaining about "invalid range" when used to set a maximum volume size. In addition, setting volume flags does not work as expected.

  • DBPURGE could cause eloqdb6 server panic in checkpoint operation if the database was re-created before the next checkpoint operation. (#593)

  • Problem in eloqdb6 server could cause index corruption. (#592)

  • The DBROLLBACK statement did not work correctly. (#591)

  • DBLOCK in odd mode (blocking on request) could return error status although lock has been granted successfully. (#576)

  • SEND SIGNAL # did not work correctly. The given task number is internally decreased by one, so either the wrong task is signaled or an error 401 is returned. (#572)

  • A problem with the DLG LOAD (character oriented) has been resolved. After a previous format error has been detected, a subsequent DLG LOAD could fail.

  • The eloqdb6 http status display has been enhanced. It now provides additional fields to identify users and sessions.

  • The dbvolchange utility failed with "invalid range" when a maximum volume size should be set.

  • The dbvoldump utility has been enhanced to provide a volume overview when the server is not active.
  • Referencing a struct member in a BREAK ON condition did result in an internal failure on BEGIN REPORT. (#496)

  • The message returned by DBEXPLAIN$ contained square brackets which makes the usage with POPUP BOX inconvenient. DBEXPLAIN$ result format has been changed. (#555)

  • The behaviour of user defined types has been changed slightly to be more consistent and provide additional features. Please refer to the A.06.10 Enhancements and changed behaviour document for more information.

  • dberase could result in an eloqdb6 server panic. When erasing a data base partially, it may be necessary to reset detail/master data set linkage information. For example when erasing a detail set, all linked masters must be updated. This could result in a eloqdb6 server panic. (#556)

  • dberase did suspend concurrent data base operations. When erasing a data base partially, it may be necessary to reset detail/master dataset linkage information. Due to the non-preemptive thread scheduling in the eloqdb6 server this caused concurrent database operations to be postponed until the dberase operation was finished. (#557)

  • DATE "DD.MM.YY" in Eloquence config file(s) resulted in "%d/%m/%y" format - wrong separators. (#538)

  • XPACK and XUNPACK ... USING were depending on space dependend mode (SI/SD). (#479)

  • An interoperability problem between the Eloquence IDE and the eloqsd server has been solved. Debugging a program file where the file name contained characters other than ASCII could fail.
  • Using structure members could result in an internal failure and program abort.

  • QFIND on a master data set resulted in a core dump.

  • A new error message 905 ("No such member") has been added. This will distinguish referencing an undeclared member variable from an undefined type. Previously both conditions resulted in a runtime error 900.

  • The database server could fail to keep track of user licenses so connections could wrongly be rejected with an error message ("No license slot available").

  • The database server had a problem with dbpurge. While the database was removed, the entry in the sysdb table (server catalog) was not updated properly so a database with the same name could not be created again.

  • DBGET mode 6 could result in a database server panic. ("Assertion failed: data.size == sizeof(recno_t)")

  • schema now enforces the minimum record length correctly. The Eloquence A.06.00 database requires a minimum record length of 4 bytes.

HP-UX platform

  • Eloquence can now be installed on HP-UX 11.0

  • When eloqsd was not active, specifying a -taskid commandline argument resulted in the message "unable to obtain license".

  • The eloq program did not work with STREAMS (HP-UX 10.20, rlogin). In addition, the eloq program had an internal problem which could result in a failure (break detected ...).
  • HP-UX crash log. When detecting an internal problem, the HP-UX version omitted additional information about the location.

Linux platorm

  • QUERY has been fixed on the Linux platform.

  • When eloqsd was not active, specifying a -taskid commandline argument resulted in the message "unable to obtain license".

  • Pushbutton without .text attribute resulted in SEGV. (#626)

  • Switching to 132 columns did not work properly with 70060 and 70092 terminals. (#526)

  • Linux terminfo permissions were wrong. Eloquence rpm archive had a minor problem regarding permissions of the /opt/eloquence6/share/terminfo directory - subdirectories did not have the 'x' (search) bit set. This caused Eloquence terminal settings be ignored.

Windows platform

  • COMMAND "!..." did not work properly with WINDOWS 95 and had some limitations on WINDOWS NT.
    • First problem was caused by the way we did the commanline quoting. While the Windows NT cmd.exe did accept it, the Windows 95 command.com did not recognize any builtin command.
    • Another problem was caused by the fact, that we did escape (with a backslash) backslash or quote characters in the commandline. This maked it possible to use a UNIX shell on NT (which we needed for our testing) while it still worked with cmd.exe. This is no longer done unless a UNIX compatible shell is recognized (when the SHELL environment variable is set as specified in the docs)

  • DLG CALL RULE/FUNCTION result in ERR 1653. (#632)

  • dbvolcreate and dbvolextend improperly construct absolute path. When an absolute path without a drive is given to dbvolcreate and dbvolextend, the path name included in the configuration file is wrong: A colon after the drive letter is missing. (#598)

  • During debugging, character set mapping for variable contents was incomplete. This did happen when debugging an application on a remote system which used a different character set (HP-UX). Characters besides ASCII were not translated.


 
 
.
 
 
  Privacy | Webmaster | Terms of use | Impressum Revision:  2002-11-18  
  Copyright © 1995-2002 Marxmeier Software AG