IBM Support

IT28832: DATABASE USING SQL_LOGICAL_CHAR > 1 CAUSING MIGRATION FAILURE DURING UPGRADE TO VERSION 14.10

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • In version 14.10 databases receive a bunch of new 'any'
    functions, for querying SET collections of various types, one of
    them being:
    
    create dba function informix.any(set(varchar(255) not null))
            returns varchar(255) with (iterator)
            external name '(collany_char)' language C not variant;
    
    While this statement would not be possible to run in a (UTF8)
    database having been created with SQL_LOGICAL_CHAR={2|3|4}, the
    UDR still seems to be present in such database newly created in
    v14.10.
    
    If instead migrating such existing database from a previous
    version, the SQL conversion would fail with:
    
    17:11:20  Converting database test_slc ...
    17:11:20  Execution of the following statement failed. If you
    are
    currently in conversion, you may have to restore
    from level 0 archive, take corrective action and then
    restart conversion.
    17:11:20  create dba function informix.any(set(varchar(255) not
    null))
            returns varchar(255) with (iterator)
            external name '(collany_char)' language C not variant;
    17:11:20  Conversion failed with SQLCODE = -650 ISAMCODE = 0
    17:11:20  The conversion of the database test_slc has failed.
    

Local fix

  • A workaround seems to be removing/commenting the three
    'varchar(255)' variants of the new 'any' UDR from
    $INFORMIXDIR/etc/boot1410XC1.sql file:
    
        create dba function informix.any(set(varchar(255) not null))
        create dba function informix.any(list(varchar(255) not
    null))
        create dba function informix.any(multiset(lvarchar not
    null))
    
    and their respective 'grant execute' statements.
    
    Use with caution, though.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Users of IDS 14.10.xC1.                                      *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * DATABASE USING SQL_LOGICAL_CHAR > 1 CAUSING MIGRATION        *
    * FAILURE                                                      *
    * DURING UPGRADE TO VERSION 14.10                              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • Fixed in IDS 14.10.xC2.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT28832

  • Reported component name

    INFORMIX SERVER

  • Reported component ID

    5725A3900

  • Reported release

    E10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-04-17

  • Closed date

    2019-09-19

  • Last modified date

    2019-09-19

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    INFORMIX SERVER

  • Fixed component ID

    5725A3900

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSGU8G","label":"Informix Servers"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"E10","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
19 September 2019