IBM Support

IC78215: ALTER FOR BIT DATA COLUMN DATA TYPE TO CHAR OR VARCHAR CHANGES COLUMN CODEPAGE

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Altering a FOR BIT DATA column data type to CHAR or VARCHAR
    unexpectedly changes the column codepage from 0 to the database
    codepage.  For example:
    
      CREATE TABLE T ( C CHAR(5) FOR BIT DATA )
    
      SELECT CODEPAGE FROM SYSCAT.COLUMNS WHERE COLNAME='C' AND
    TABNAME='T'
    
      CODEPAGE
      --------
             0
    
        1 record(s) selected.
    
      ALTER TABLE T ALTER COLUMN C SET DATA TYPE CHAR(8)
    
      SELECT CODEPAGE FROM SYSCAT.COLUMNS WHERE COLNAME='C' AND
    TABNAME='T'
    
      CODEPAGE
      --------
          1208
    
        1 record(s) selected.
    
    The expected behaviour is that the FOR BIT DATA attribute is
    maintained and the codepage remains 0.
    
    It is not possible to alter a FOR BIT DATA column to CHAR or
    VARCHAR without FOR BIT DATA.
    

Local fix

  • When altering a FOR BIT DATA column data type, ensure the FOR
    BIT DATA clause is specified, e.g.: ALTER TABLE T ALTER COLUMN C
    SET DATA TYPE CHAR(8) FOR BIT DATA.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * ALL                                                          *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Altering a FOR BIT DATA column data type to CHAR or VARCHAR  *
    *                                                              *
    * unexpectedly changes the column codepage from 0 to the       *
    * database                                                     *
    * codepage.  For example:                                      *
    *                                                              *
    *                                                              *
    *                                                              *
    *   CREATE TABLE T ( C CHAR(5) FOR BIT DATA )                  *
    *                                                              *
    *                                                              *
    *                                                              *
    *   SELECT CODEPAGE FROM SYSCAT.COLUMNS WHERE COLNAME='C' AND  *
    *                                                              *
    * TABNAME='T'                                                  *
    *                                                              *
    *                                                              *
    *                                                              *
    *   CODEPAGE                                                   *
    *                                                              *
    *   --------                                                   *
    *                                                              *
    *         0                                                    *
    *                                                              *
    *                                                              *
    *                                                              *
    *     1 record(s) selected.                                    *
    *                                                              *
    *                                                              *
    *                                                              *
    *   ALTER TABLE T ALTER COLUMN C SET DATA TYPE CHAR(8)         *
    *                                                              *
    *                                                              *
    *                                                              *
    *   SELECT CODEPAGE FROM SYSCAT.COLUMNS WHERE COLNAME='C' AND  *
    *                                                              *
    * TABNAME='T'                                                  *
    *                                                              *
    *                                                              *
    *                                                              *
    *   CODEPAGE                                                   *
    *                                                              *
    *   --------                                                   *
    *                                                              *
    *       1208                                                   *
    *                                                              *
    *                                                              *
    *                                                              *
    *     1 record(s) selected.                                    *
    *                                                              *
    *                                                              *
    *                                                              *
    * The expected behaviour is that the FOR BIT DATA attribute is *
    *                                                              *
    * maintained and the codepage remains 0.                       *
    *                                                              *
    * It is not possible to alter a FOR BIT DATA column to CHAR or *
    *                                                              *
    * VARCHAR without FOR BIT DATA.                                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to DB2 Version 9.7 Fix Pack 5                        *
    ****************************************************************
    

Problem conclusion

  • Problem first fixed in DB2 Version 9.7 Fix Pack 5
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC78215

  • Reported component name

    DB2 FOR LUW

  • Reported component ID

    DB2FORLUW

  • Reported release

    970

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-08-18

  • Closed date

    2011-11-08

  • Last modified date

    2011-11-08

  • 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

    DB2 FOR LUW

  • Fixed component ID

    DB2FORLUW

Applicable component levels

  • R970 PSN

       UP



Document information

More support for: DB2 for Linux, UNIX and Windows

Software version: 9.7

Reference #: IC78215

Modified date: 08 November 2011