With a UTF-8 database, CODEUNITS32 is not correct with create table script. The values are 4x higher than they should be.
説明
With a UTF-8 database, CODEUNITS32 is not correct with create table script. The values are 4x higher than they should be.
If you create a table for example
CREATE TABLE "TEST "."Table" ( "C1" VARCHAR(16 CODEUNITS32) NOT NULL , "C2" VARCHAR(32 CODEUNITS32) NOT NULL , "C3" CHAR(3 CODEUNITS32) NOT NULL , "C4" TIMESTAMP NOT NULL , "C5" TIMESTAMP , "C6" CHAR(1 CODEUNITS32) , "C7" VARCHAR(200 CODEUNITS32) ) DISTRIBUTE BY HASH("C1") IN "TEST" ORGANIZE BY ROW;
Then, right click on a table -> Generate SQL -> Creation script -> in editor
It then shows:
CREATE TABLE TEST.TABLE ( C1 VARCHAR(64 CODEUNITS32) NOT NULL, C2 VARCHAR(128 CODEUNITS32) NOT NULL, C3 CHARACTER(12 CODEUNITS32) NOT NULL, C4 TIMESTAMP NOT NULL, C5 TIMESTAMP, C6 CHARACTER(4 CODEUNITS32), C7 VARCHAR(800 CODEUNITS32) ) IN TEST DISTRIBUTE BY HASH (C1) ORGANIZE BY ROW;
The value is 4 times bigger then original.
対策
Issue resolved in Toad for DB2 v6.2, available from: https://support.quest.com/toad-for-db2/download-new-releases