Icon View Incident Report

Serious Serious
Reported By: Terry Swiers
Reported On: 4/16/2010
For: Version 2.03 Build 10
# 3186 Using ALTER TABLE to Add a Primary Key to an Existing Table with No Primary Key Can Cause Corruption

Attached is a database and reverse engineering script that results in a corrupt table or index in EDB 2.09b10 Unicode in Delphi 2009. Run the script.sql script in EDB Manager against the data and then run the following query against the restructured database.

The exact error I'm getting is "ElevateDB Error #601 The table code is corrupt (Invalid index page number specified for retrieval from cache)"

select * from code where mfr is not null

Comments Comments
The issue was with a bug in the new ALTER TABLE performance improvements included with 2.03 Build 10. The specific circumstances were to have a table without a primary key constraint, add some indexes, and then use the ALTER TABLE statement to add a primary key constraint.

Resolution Resolution
Fixed Problem on 4/16/2010 in version 2.03 build 11

Products Affected Products Affected
ElevateDB Additional Software and Utilities
ElevateDB DAC Client-Server
ElevateDB DAC Client-Server with Source
ElevateDB DAC Standard
ElevateDB DAC Standard with Source
ElevateDB DAC Trial
ElevateDB LCL Standard with Source
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial