Icon View Incident Report

Serious Serious
Reported By: Terry Swiers
Reported On: 1/22/2010
For: Version 2.03 Build 7
# 3136 Altering a Table Several Times and Trying to Drop a Second FK Constraint Causes Error #401

The basic steps are as follows, all manually done from inside of EDB Manager 2.03 b7 Unicode.

Create new local database (Path is irrelevant)

Create new table TestPK
StockCode VarChar 20 UNI
Constraint PrimaryKey on StockCode

Create new table TestFK
Container VarChar 20 UNI
StockCode VarChar 20 UNI

Refresh EDB Manager (F5)

Alter table TestFK
Add Constraint Container
Refer to TestPK.PrimaryKey, Update No Action, Delete Restrict

Refresh EDB Manager (F5)

Alter table TestFK
Add Constraint StockCode
Refer to TestPK.PrimaryKey, Update No Action, Delete Restrict

Refresh EDB Manager (F5)

Alter table TestFK
Drop Constraint Container (Error #401 about a missing constraint with the ID of 41)

CREATE DATABASE "RI" PATH 'C:\Temp\RI'
 
CREATE TABLE "TestPK"
(
"StockCode" VARCHAR(20) COLLATE "UNI",
CONSTRAINT "PrimaryKey" PRIMARY KEY ("StockCode")
)
VERSION 1.00
INDEX PAGE SIZE 8192
BLOB BLOCK SIZE 1024
PUBLISH BLOCK SIZE 1024
PUBLISH COMPRESSION 0
MAX ROW BUFFER SIZE 32768
MAX INDEX BUFFER SIZE 65536
MAX BLOB BUFFER SIZE 32768
MAX PUBLISH BUFFER SIZE 32768
 
CREATE TABLE "TestFK"
(
"Container" VARCHAR(20) COLLATE "UNI",
"StockCode" VARCHAR(20) COLLATE "UNI"
)
VERSION 1.00
INDEX PAGE SIZE 8192
BLOB BLOCK SIZE 1024
PUBLISH BLOCK SIZE 1024
PUBLISH COMPRESSION 0
MAX ROW BUFFER SIZE 32768
MAX INDEX BUFFER SIZE 65536
MAX BLOB BUFFER SIZE 32768
MAX PUBLISH BUFFER SIZE 32768
 
F5
 
ALTER TABLE "TestFK"
ADD CONSTRAINT "Container" FOREIGN KEY ("Container") REFERENCES "TestPK" ("StockCode") ON UPDATE NO ACTION ON DELETE RESTRICT
 
F5
 
ALTER TABLE "TestFK"
ADD CONSTRAINT "StockCode" FOREIGN KEY ("StockCode") REFERENCES "TestPK" ("StockCode") ON UPDATE NO ACTION ON DELETE RESTRICT
 
F5
 
ALTER TABLE "TestFK"
DROP CONSTRAINT "Container"



Comments Comments
The F5 refreshing was actually unnecessary and doesn't affect the outcome. The problem was caused by an internal catalog reference being set to the wrong ID during the second ALTER TABLE execution.


Resolution Resolution
Fixed Problem on 1/22/2010 in version 2.03 build 8


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

Image