home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC94674 Status: Closed

THE PROCEDURE SYSPROC.ADMIN_MOVE_TABLE STRIPS SPACES FROM OR ADDS SPACES TO
THE END OF A TABLE NAME.

product:
DB2 FOR LUW / DB2FORLUW / A50 - DB2
Problem description:
When you call the procedure SYSPROC.ADMIN_MOVE_TABLE with the 
MOVE option, if the second argument matches the name of some 
table except that the argument has extra spaces at the end or 
the name of the table has extra spaces at the end, the table 
gets renamed. 
 
For example: 
 
1) Stripping spaces from the end of the table name. 
 
--Create a table called "TAB1 " 
--(with a space at the end of the name). 
db2 'create table schema1."TAB1 "(col1 int)' 
 
--Call SYSPROC.ADMIN_MOVE_TABLE passing 'TAB1' 
--as the second argument (without the space at the end). 
db2 "call sysproc.admin_move_table ('SCHEMA1', 'TAB1', '' , 
 '' ,'', '',  '' , '', '', '', 'move' )" 
 
--Now in the system catalog the space has been stripped off 
--the end of the name. 
db2 "select substr(tabname, 1, 20), length(tabname), 
 substr(hex(tabname), 1, 20) from syscat.tables 
 where tabname like 'TAB1%'" 
 
 1                    2           3 
 -------------------- ----------- -------------------- 
 TAB1                           4 54414231 
 
   1 record(s) selected. 
 
 
2) Adding spaces to the end of the table name. 
 
--Create a table called TAB1 without any spaces at the end 
--of the name. 
db2 "create table schema1.tab1(col1 int)" 
 
--Call SYSPROC.ADMIN_MOVE_TABLE passing 'TAB1 ' 
--as the second argument (with an extra space at the end). 
db2 "call sysproc.admin_move_table ('SCHEMA1', 'TAB1 ', 
 '' ,'' ,'', '',  '' , '', '', '', 'move' )" 
 
--Now in the system catalog the extra space has been added 
--to the end of the table name. 
db2 "select substr(tabname, 1, 20), length(tabname), 
 substr(hex(tabname), 1, 20) from syscat.tables 
 where tabname like 'TAB1%'" 
 
 
1                    2           3 
-------------------- ----------- -------------------- 
TAB1                           5 5441423120 
 
  1 record(s) selected.
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* Users of DB2 for Linux, UNIX and Windows                     * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* .                                                            * 
****************************************************************
Local Fix:
You can change the table back to its old name by calling 
SYSPROC.ADMIN_MOVE_TABLE passing the old table name as the 
second argument.
available fix packs:
DB2 Cancun Release 10.5.0.4 (also known as Fix Pack 4) for Linux, UNIX, and Windows
DB2 Version 10.5 Fix Pack 9 for Linux, UNIX, and Windows

Solution
Problem was first fixed in Version 10.5 Fix Pack 4. 
At a minimum, this fix should be applied on the server.
Workaround
You can change the table back to its old name by calling 
SYSPROC.ADMIN_MOVE_TABLE passing the old table name as the 
second argument.
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
06.08.2013
09.09.2014
09.09.2014
Problem solved at the following versions (IBM BugInfos)
Problem solved according to the fixlist(s) of the following version(s)
10.5.0.4 FixList