DB2 - Problem description
| Problem IC78215 | Status: Closed |
ALTER FOR BIT DATA COLUMN DATA TYPE TO CHAR OR VARCHAR CHANGES COLUMN CODEPAGE | |
| product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
| 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. | |
| 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 * **************************************************************** | |
| 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. | |
| available fix packs: | |
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows | |
| Solution | |
Problem first fixed in DB2 Version 9.7 Fix Pack 5 | |
| Workaround | |
not known / see Local fix | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 18.08.2011 08.11.2011 08.11.2011 |
| Problem solved at the following versions (IBM BugInfos) | |
9.7.FP5 | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 9.7.0.5 |
|