Kbase P138376: Getting error message ORA-00972: identifier is too long when applying delta.sql to Oracle DB
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  16/02/2009 |
|
Status: Unverified
SYMPTOM(s):
Getting error message ORA-00972: identifier is too long when applying delta.sql to Oracle DB
FACT(s) (Environment):
Oracle DB contains an index called "codepwhprdrettypidx"
When making changes to this index the delta.df does this:
RENAME INDEX "CoDepWhPrdRetTypIdx" TO "temp-13109" ON "CERetTotal"
...
ADD INDEX "CoDepWhPrdRetTypIdx" ON "CERetTotal"
INDEX-NUM 2
FOREIGN-NAME "CERETTOTA##CODEPWHPRDRETTYPIDX1" // this name is now longer than 30 chars (31 chars)...
UPDATE PRIMARY INDEX CoDepWhPrdRetTypIdx ON CERetTotal
The delta.sql does this:
DROP INDEX CERETTOTA##CODEPWHPRDRETTYPIDX;
CREATE INDEX CERETTOTA##codepwhprdrettypidx1 ON CERETTOTAL( COMPANYCODE,
DEPOTCODE, WAREHOUSECODE, PERIODNUM, PERIODYEAR, W3RETURNNUM,
U##PERIODTYPE, PROGRESS_RECID);
All Supported Operating Systems
OpenEdge 10.1C
CAUSE:
Bug# OE00177558
FIX:
Upgrade to OE10.1C03
Or,
If upgrade is not possible, workaround this issue by manually dropping the 1 from the end of the index name in the schema holder .df for FOREIGN-NAME and on the .sql file before applying them to the schema holder and the Oracle Database.
FIX:
References to written documentation
Progress Solution:
P141452, "Index name changes in the generated .sql file by delta sql utility if it is dropped and recreated with the same name"