Genero 2.11 Maintenance Release

Irving, Texas – November 4, 2008 — Four Js Development Tools announced today the general availability of its latest Genero maintenance release 2.11.05 comprising bug fixes. This maintenance release is available on the web site .

It includes the following packages:

  • Genero BDL 2.11.05 (FGL)
  • Genero BDL 2.11.05 including Web Services (FGLGWS)

Note : Starting with the maintenance release 2.11.05, GWS will no more be released as a single package but as a bundle including FGL and  GWS.  If you want to use Web Services, you no longer need to install the FGL package and then GWS but only the new FGLGWS package.

Of course, if you don’t want to use GWS, Four Js also provides a standalone FGL package. After FGLGWS installation, you will find in the target directory the same content/organization as if you installed FGL and then  GWS separately.

Genero 2.11.05

Features implemented in these releases are as follows:

  • New Database drivers:
    • FreeTDS (ftm90) now available on AIX 4.3 64b, Solaris 64b and HP 64b.
    • Support for UTF-8 in FreeTDS (needs FreeTDS 0.83)
    • Genero Data Server 3.80 (ads380).
  • Limited UTF-8 Emulation for Windows


    By setting LANG=.fglutf8 you can run UTF-8 applications on Windows.
    IMPORTANT WARNING: This is not a complete emulation of the UTF-8 character set support and there are important limitations and side effects: Any C  runtime library function call (like fopen()) will expect the system character set, not utf8.

  • Support for TEXT/BYTE with MySQL

    Starting with MySQL 5.0, TEXT/BYTE can be stored with longtext/longbyte.
    According to the size of the LOBs in your database, you may need to  adapt the ‘max_allowed_packet’ parameter in MySQL configuration files.
    Note that the MySQL ‘text’ type is reserved to store CHAR/VARCHAR with  a size greater than 255 bytes.

  • New fglcomp option –timestamp

    The fglcomp compiler now has a new option to write a timestamp string in the .42m headers, to track when modules have been compiled. Timestamp and build information can be read from 42m files with fglrun -b option.
    Note that timestamp information was writen to p-code modules in version 1.33, but was then removed in version 2.10 (b1102) to avoid differences in successive .42m generation from the same .4gl source.
    You can now choose to add the timestamp if needed with –timestamp.

  • New FGLPROFILE entry for scroll cursor emulation in Oracle drivers. = true/false

    This can be used to workaround Oracle OCI bugs with scrollable cursors.
    Recent bugs detected OCI when using the same column twice in the SELECT list.

    This option can be used with all Oracle drivers. By default this option is true in drivers designed for Oracle client versions <= 9.0.

  • Extracting schema from MySQL database

    Warning: fgldbsch now uses the INFORMATION_SCHEMA database of MySQL,  which exists only since version 5.0. It is no longer possible to extract  a schema from MySQL databases 4.1. You should upgrade to version 5.

The followings bugs have been fixed in this release:

  • : The USING operator ignores the @ placeholder ( element of DBFORMAT)
  • 7899 : Must not ignore type attributes of object types.
  • 9665 : NEXT FIELD in BEFORE INPUT of INPUT ARRAY in DIALOG stays in previous sub-dialog
  • 10357:Topmenu and toolbar items bound with qualified names are not enabled
  • 10358 : Action defaults not applied to TopMenuCommands when qualified with sub-dialog
  • 10359 : Cannot bind ButtonEdit button or Folder Page with sub-block qualified action name
  • 10382 : ScrollGrid.pageSize is not defined in the 42f file
  • 10395 : With FGL_USENDIALOG or DIALOG, cannot click in column when nested INPUT or CONSTRUCT using on Table
  • 10399 : fglcomp -T X segmentation fault on preprocessor error
  • 10431 : NEXT FIELD NEXT in BEFORE ROW of INPUT ARRAY in DIALOG gives fatal error
  • 10457 : fglform should not create an automatic vbox  around non stretchable items in a GRID
  • 10463 : Multiple dialogs: arr_curr() invalid result in BEFORE DISPLAY (mouse click into array).
  • 10465 : DIALOG.getCurrentItem() is wrong in AFTER DISPLAY and AFTER INPUT
  • 10470 : Cannot read dbi.database entries when dbnames have same first characters
  • 10492 :NEXT FIELD in BEFORE DISPLAY to column of previous INPUT ARRAY raises assertion error.
  • 10528 : SQLERRMESSAGE does not use SQLCA.SQLERRM for error -6366
  • 10545 :Segmentation fault when passing string constant used as SQL parameter
  • 10595 : fglcomp problem causes a program to crash with the GWS plugin
  • 10623 : FGLPROFILE settings take precendence over CONNECT USER/USING clause
  • 10682 : With PGS 8.3.x only, OPEN cursor outside TX fails if first OPEN inside TX
  • 10711 : fglrun (script) fails on UNIX if $FGLDIR path contains spaces
  • 10720 : Syntax error with TYPE datatype NOT NULL (without comma) for EDIT
  • 10734 : During a CONSTRUCT, you cannot use new-line characters in TEXTEDIT
  • 10758 : With non-Informix DBs, DBFORMAT/DBMONEY is ignored when fetching DECIMAL into a [VAR]CHAR
  • 10761 :Preprocessor macro __FILE__ should use slash on Windows platforms
  • 10769 : ACCEPT DIALOG in BEFORE FIELD raises assertion
  • 10793 : fglschema tool cannot use an SE database specification with path
  • 10805 : FreeTDS driver must automatically add N prefix to string literals
  • 10842 : FreeTDS driver must bind with SQL_W[VAR]CHAR to support UTF-8
  • 10848 : DIALOG statement, COMMAND “name”: cannot set accelerator, comment and help, if “name” contains uppercase characters
  • 10853 : PostgreSQL OID can be larger than 4gl INTEGERs
  • 10944 : CLEAR FORM must not clear attributes of DISPLAY AT.
  • 11034 : fgl_dialog_setbuffer() doesn’t work correctly in INPUT ARRAY with old code
  • 11103 : fgldbsch does not extract Informix DATETIME/INTERVAL from GDS 3.80
  • 11131 : Cannot fetch MySQL MEDIUMTEXT column when value exceeds 2048 bytes
  • 11191 :Compilation error when using USER keyword in WHERE clause of SELECT
  • 11253 : MySQL: Support for large objects (TEXT/BYTE)
  • 11327 : Need compilation timestamp in 42m like in previous 1.33 versions
  • 11360 :FGL_USENDIALOG: INPUT ARRAY: Assignment to target variable and DISPLAY TO current field not working (aka zoom)
  • 11448 : Win32: Console-ui: death debugger dialog after OPTIONS statement.
  • 11453 :Size of NVARCHAR columns in SQL Server is a number of bytes in UCS-2
  • 11455 : Error -1260 when extracting schema from MySQL 5

Genero Web Services 2.11.05

Features implemented in this release is as follows:

  • One-Way RPC and Document style services
    • The Genero Web Services library provides two new methods in the WebOperation class to create One-Way operations in services. A One-Way operation means that the server accepts an incoming request, but doesn’t return any response back to the client. There is one method called CreateOneWayRPCStyle to create an RPC Style operation, and another one called CreateOneWayDOCStyle to create a Document Style operation.
      A One-Way operation can be used as a logger service for instance, where a client sends a message to the server, but doesn’t care about what the server is doing with it.
  • New options in fglwsdl tool
    The fglwsdl tool is enhanced with the following new options:

    • -b                    : Generate code from a WSDL using the binding section instead of the service section
    • -autoNsPrefix : Determine the prefix for variables and types according to the XML
    • -nsPrefix        : Set the prefix for a variable or a type belonging to the given XML namespace

    The following options have been changed as described below:

    • -o       : If there are several services in one WSDL, they will be generated in the same file with the given base name instead of returning an error
    • -disk    : Retrieves and displays all dependencies to the current directory but there are no sub directories any longer.
    • -prefix : Accepts patterns %s, %f and %p

    The fglwsdl tool now connects directly to the net if the proxy is not reachable.

  • Support of WSDL with circular references
    • The Genero Web Services library has been enhanced to support WSDL with circular references. Actually, the 4GL language does not provide a way to define variables or types that refer to themselves. However, to provide better interoperability and a way to handle such circular data, the fglwsdl tool now generates variables or types of the xml.DomDocument type when circular references are detected during the processing of WSDL files. This gives the user the ability to manipulate the circular data by hand, using the XML DOM API.
  • Additional improvements
    • The xml.DomDocument normalize function can now use features options
    • Generate an xml.DomDocument instead of a STRING for xsd:anyType element or type
    • If there is no service in the WSDL, it is possible to generate the stubs using the binding element

The following bugs have been fixed in this release:

  • 10389 : XMLAny namespace not taken into account
  • 10392 : staxToVariable function fails on CDATA element
  • 10437 : creates wrong directory
  • 10450 : In a WSDL, if a wsdl:document tag is present as the first child of a wsdl:message it must be ignored
  • 10451 : In a WSDL, the optional ‘parts’ attribute of a soap:body element within a binding section is ignored
  • 10467 : “fglwsdl -n” with no parameters crashes
  • 10533 : SmallInt or Integer to XML Boolean conversion fails when a XSDPattern constraint of value “0|1” is set
  • 10638 : doFormEncodedRequest does not escape ‘ ‘
  • 10669 : Allow simple type as parameters of operations in doc style
  • 10951 : fglwsdl tool crashes if URL is incomplete
  • 10972 : crash of fglwsdl -disk -dx -o if parameter of -o contains special characters
  • 11054 : fglwsdl tool doesn’t take system locale set by LANG into account
  • 11102 : fglwsdl -disk crashes if wsdl contains an import with a location ending with slash
  • 11219 : Option -disk with URL references containing a query string doesn’t work properly
  • 11232 : In RPC style, XSDEnumeration generates an invalid WSDL
  • 11374 : Regular expressions in a pattern facet constraint with ” characters are not escaped

Best regards,

Four Js Development Tools