.
contact contact

Eloquence B.07.00 Release Notes

 
.
 

Known problems and limitations

[ Main document | Back ]

The following problems and limitations are known with the Eloquence B.07.00 product release:

  • Backup files created by dbctl dbstore are limited to 2 GB on the HP-UX and Linux platform when writing to a file system. Eloquence B.07.00 on the HP-UX and Linux platform does not support backup file sizes above 2 GB and this could result in a failure during dbctl dbstore when the backup file exceeds 2 GB (#226).

    Workaround:

    1. Write the backup file to a tape. In this case the size is only limited by the size of the tape device.

    2. The backup file can be compressed during backup and uncompressed during restore. Add the following in the [Devices] section of your eloqdb6.cfg file:
       zip = |gzip -c >/backup
       unzip = |gzip -dc /backup
      
      When performing an backup to the "zip" destination this will cause the backup file to be compressed. A dbrestore from the "unzip" source is used to restore the data.

  • Due to a race condition in eloqsd multiple eloqcore processes in rare cases could try to use the same TASKID value, resulting in startup failures for eloqcore processes due to duplicate TASKID values. This has been observed in a bechmark script when starting hundred eloqcore processes asynchronously in the background at the same time on a multi-processor system (#6).

  • Possible wrong scroll indicator with ASCII DLG. When using the .cx method to set the cursor x position in ASCII DLG a scroll indicator may be drawn which is not required. (#D672)

  • Single line functions with a member variable cause an internal failure in eloqcore and store while parsing the statement. (#D666)
    DEF FNFunction(STRUCT This)=(This.Member<>0)
    -> Assertion failed: (cg == 1) file codegen.c, line 1142
    
  • A problem with list causes the "array indicator" (*) to disappear when using a structure array member as a SUB/Function argument (#D652).

    For example:

      Error=FNMake_label(Base$,Label$(*),Fu_ns.Titles$(*),
      Fu_ns.Address$(*), Fu_ns.City$,Fu_ns.State$,Fu_ns.Zip$,
      Fu_ns.Country_code$)
    
    A subsequent LIST will remove the "(*)" from the Fu_ns.Address$ argument.

  • A scanner anomaly has been detected. The statement "NEW Fu_ns AS New_sales" results in a syntax error due to a conflict with the ASN keyword. As a workaround you can use a colon instead of AS: "NEW Fu_ns:New_sales" (#D663).

  • Cross reference (list -x) does not work correctly when user defined types are used (#D458).
    The cross reference (list -x) currently has some problems dealing with user defined types (STRUCT). It is complaining about multiply declared or unused member variables.

  • Handling programs with embedded NUL characters (#D606)

    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.

  • Eloquence does not accept an implied LET using a structured type after a THEN. As a workaround, use an explicit LET. (#D392)
    IF Condition THEN LET Instance.Member=25
    
  • The Eloquence syntax analysis results in a syntax error with the statement below:
    FOR I=1 TO A STEP C
    
    The problem is, that the keyword AS is recognized erroneously. As a workaround, simply use a different variable name or use an expression (eg. A+0). (#D454)

  • QFIND with IN clause on an index may return unexpected results if the collating sequence of the index and the program executing QFIND is different.

    QFIND internally uses DBFIND to position into the index and then retrieves data in index order until the max. value is exhausted. However the max. value is checked using collating sequence (this is required to handle national characters properly, eg. in German A umlaut needs to be inserted between A and B).

    If the max. value is greater (or less) than the first index value retrieved from the index, this will result in either an empty result or an unexpected number of result records. (#D493).

HP-UX platform

  • A problem with the HP-UX curses implementation has been been found which might cause screen garbage when switching screen width on vt type terminals (vt320, xterm).

    We have found the following workaround: If you are affected you might want to try to add the following lines after the CRTCOLS= statement:

      WAIT 1
      REFRESH
    
    The WAIT statement or another delay is required.

Linux platform

  • The Linux curses implementation (ncurses) has problems with HP terminal types, enhancements could be displayed wrongly.

    The workaround is to use HP terminals and the WRQ Reflection/1 emulation software in the EM220 mode. Eloquence B.07.00 includes a terminal definition for the em220 terminal type which can be used with HP terminal types.

  • When using Telnet, pressing the BREAK key causes eloqcore to abort. This is related to a different behaviour of the Linux telnetd server.

    Workaround:

    • In Reflection, you should choose the TELNET BREAK setting on the open connection dialog. This will avoid killing eloqcore on Ctrl+Break - it will become the equivalent to ^Y.
    • In order to have a HALT/BREAK key, you can use the keyboard mapping function. Just send a NUL byte for a break. You can do this with the RCL function TRANSMIT "^(0)".
      For example: To assign the F12 key to break, open the keyboard map dialog, select the F12 key in the upper area, select "RCL Command" from the Combo-Box and enter the RCL command TRANSMIT "^(0)"
    • This works with HP-UX as well, so you can use a common setting.

  • Switching to 132 column mode is currently not supported on Linux console (error 880 is issued). This is a limitation of the Linux console driver which makes use of VGA hardware. (#D526)

    The list of terminals which are capable to switch between 80/132 column mode is hard coded into eloqcore. Eloqcore returns error 880 when the terminal type is not included in this list.

  • Linux console limitations:
    • Underline is simulated by colors on a color display
    • Dim ("half bright") is simulated by colors on a color display
    • Mixed enhancements don't work as expected

Windows platform

  • When started from the command line, eloqcore requires that the console window size is 25x80. With different window sizes eloqcore issues a startup error:
      Failed to set screen buffer size: 
      The parameter is incorrect (errno 87)
      eloqcore: Unable to setup i/o system
    
    The eloqsd, eqstart and IDE start facilities adjust the console window properties accordingly. However, should eloqcore be started from the command prompt or from within a batch file the console window size must be set to 25x80, else eloqcore will not start.
    This is a Windows limitation which cannot be worked-around from within Eloquence. As said, if you start your programs using eqstart (either locally or remotely using eloqsd) or the IDE debugger this problem does not occur.

  • Some trace output could be lost when executing eloqcore locally. This is caused by Windows NT which simply discards any networking data when the eloqcore process ends and the IDE did not yet receive all trace information.

  • Output of system commands is lost, when the command contains a pipe.
    This does at least happen with the mks shell. This seems to be a problem with the Microsoft C runtime (msvcrt.dll).
    For example: COMMAND "!ls -l|grep Feb"

 
 
 
  Privacy | GDPR / DSGVO | Webmaster | Terms of use | Impressum Revision: 2003-03-20  
  Copyright © 1995-2024 Marxmeier Software AG