Consultor Eletrônico



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"