Icon View Incident Report

Serious Serious
Reported By: Grzegorz Rewucki
Reported On: 12/16/2011
For: Version 2.06 Build 2
# 3525 Altering a Table Column that is Indexed by Multiple Indexes Causes Index Corruption

Alter an EDB table by expanding indexed fields size corrupts table and posting changes to the altered field generate error: "The table <TableName> is corrupt".

EXECUTE IMMEDIATE 'CREATE TABLE "TaxiTyt"
(
"BizonCreator" VARCHAR(30) COLLATE "ANSI_CI" DEFAULT CURRENT_USER  DESCRIPTION ''Twórca'',
"BizonCreated" TIMESTAMP DEFAULT CURRENT_TIMESTAMP  DESCRIPTION ''Utworzono'',
"BizonModifier" VARCHAR(30) COLLATE "ANSI_CI" DESCRIPTION ''Ostatnio modyfikował'',
"BizonModified" TIMESTAMP DESCRIPTION ''Ostatnia modyfikacja'',
"BizonChange" INTEGER DEFAULT 0  DESCRIPTION ''Zmiana'',
"BizonChanger" VARCHAR(30) COLLATE "ANSI_CI" GENERATED ALWAYS AS CURRENT_USER  DESCRIPTION ''Zmieniający'',
"BizonChanged" TIMESTAMP GENERATED ALWAYS AS CURRENT_TIMESTAMP  DESCRIPTION ''Zmieniono'',
"BizonSearch" CLOB COLLATE "PLK_CI" DESCRIPTION ''Indeks słów'',
"Rejestr" SMALLINT DEFAULT 0  DESCRIPTION ''Rejestr'',
"Typ" SMALLINT DEFAULT 0  DESCRIPTION ''Typ'',
"TytulId" INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 0, INCREMENT BY 1) DESCRIPTION ''Identyfikator tytułu'',
"WniosekId" INTEGER DEFAULT 0  DESCRIPTION ''Identyfikator wniosku'',
"WierzycielId" INTEGER DESCRIPTION ''Identyfikator wierzyciela'',
"Wierzyciel" VARCHAR(80) COLLATE "PLK_CI" DESCRIPTION ''Wierzyciel'',
"Kod" VARCHAR(5) COLLATE "PLK_CI" DESCRIPTION ''Kod zobowiązania'',
"Zobowiazanie" VARCHAR(75) COLLATE "PLK_CI" DESCRIPTION ''Nazwa zobowiązania'',
"OdsTabId" VARCHAR(10) COLLATE "PLK_CI" DEFAULT ''ODSB''  DESCRIPTION ''Odsetki'',
"SO" DECIMAL(19,2) DEFAULT 0.00  DESCRIPTION ''Stawka odsetek'',
"Symbol" VARCHAR(10) COLLATE "PLK_CI" DEFAULT ''''  DESCRIPTION ''Symbol klasyfikacji'',
"Podstawa" SMALLINT DEFAULT 0  DESCRIPTION ''Podstawa prawna należności'',
"Podstawa_Data" DATE DESCRIPTION ''Data orzeczenia'',
"Podstawa_Nr" VARCHAR(50) COLLATE "PLK_CI" DESCRIPTION ''Numer orzeczenie'',
"Znak" VARCHAR(30) COLLATE "PLK_CI" DESCRIPTION ''Numer tytułu'',
"Wystawiono" DATE DESCRIPTION ''Data wystawienia'',
"Numer" VARCHAR(30) COLLATE "PLK_CI" DEFAULT Znak  DESCRIPTION ''Numer sprawy'',
"Rejon" SMALLINT DEFAULT 0  DESCRIPTION ''Rejon'',
"NumerLp" INTEGER DEFAULT 0  DESCRIPTION ''Liczba porządkowa numeru'',
"Data" DATE DESCRIPTION ''Data przyjęcia'',
"Malzenstwo" BOOLEAN DEFAULT FALSE  DESCRIPTION ''Małżeństwo'',
"PodmiotId" INTEGER DESCRIPTION ''Identyfikator zobowiązanego'',
"Nazwa" VARCHAR(80) COLLATE "PLK_CI" DESCRIPTION ''Zobowiązany'',
"Adres" VARCHAR(160) COLLATE "PLK_CI" DESCRIPTION ''Adres'',
"Kraj" VARCHAR(35) COLLATE "PLK_CI" DESCRIPTION ''Kraj'',
"Region" VARCHAR(100) COLLATE "PLK_CI" DESCRIPTION ''Region'',
"Ulica" VARCHAR(45) COLLATE "PLK_CI" DESCRIPTION ''Ulica'',
"Dom" VARCHAR(9) COLLATE "PLK_CI" DESCRIPTION ''Dom'',
"Lokal" VARCHAR(5) COLLATE "PLK_CI" DESCRIPTION ''Lokal'',
"Miejscowosc" VARCHAR(35) COLLATE "PLK_CI" DESCRIPTION ''Miejscowość'',
"KodPocztowy" VARCHAR(8) COLLATE "PLK_CI" DESCRIPTION ''Kod pocztowy'',
"Poczta" VARCHAR(35) COLLATE "PLK_CI" DESCRIPTION ''Poczta'',
"ZInfo" SMALLINT DEFAULT 0  DESCRIPTION ''Informacja (Z)'',
"ZInfo_Opis" VARCHAR(240) COLLATE "PLK_CI" DESCRIPTION ''Opis (Z)'',
"ZTyp" SMALLINT DEFAULT 1  DESCRIPTION ''Typ zobowiązanego'',
"DluznikId" INTEGER DESCRIPTION ''Identyfikator dłużnika'',
"Dluznik" VARCHAR(80) COLLATE "PLK_CI" DESCRIPTION ''Dłużnik'',
"WBank" VARCHAR(80) COLLATE "PLK_CI" DESCRIPTION ''Bank wierzyciela'',
"WKonto" VARCHAR(40) COLLATE "ANSI" DESCRIPTION ''Konto wierzyciela'',
"WInfo" SMALLINT DEFAULT 0  DESCRIPTION ''Informacja (W)'',
"WInfo_Opis" VARCHAR(240) COLLATE "PLK_CI" DESCRIPTION ''Opis (W)'',
"KosztyUp" DECIMAL(19,2) DEFAULT 0.00  DESCRIPTION ''Koszty upomnienia'',
"DataUp" DATE DESCRIPTION ''Data doręczenia upomnienia'',
"Upomnienie" VARCHAR(240) COLLATE "PLK_CI" DESCRIPTION ''Upomnienie'',
"DataWn" DATE DESCRIPTION ''Data wniosku'',
"DataKl" DATE DEFAULT Data  DESCRIPTION ''Data klauzuli'',
"ZBank" VARCHAR(80) COLLATE "PLK_CI" DESCRIPTION ''Bank zobowiązanego'',
"ZKonto" VARCHAR(40) COLLATE "ANSI" DESCRIPTION ''Konto zobowiązanego'',
"ZMAdres" VARCHAR(160) COLLATE "PLK_CI" DESCRIPTION ''Adres'',
"ZMKraj" VARCHAR(35) COLLATE "PLK_CI" DESCRIPTION ''Kraj'',
"ZMRegion" VARCHAR(100) COLLATE "PLK_CI" DESCRIPTION ''Region'',
"ZMUlica" VARCHAR(45) COLLATE "PLK_CI" DESCRIPTION ''Ulica'',
"ZMDom" VARCHAR(9) COLLATE "PLK_CI" DESCRIPTION ''Dom'',
"ZMLokal" VARCHAR(5) COLLATE "PLK_CI" DESCRIPTION ''Lokal'',
"ZMMiejscowosc" VARCHAR(35) COLLATE "PLK_CI" DESCRIPTION ''Miejscowość'',
"ZMKodPocztowy" VARCHAR(8) COLLATE "PLK_CI" DESCRIPTION ''Kod pocztowy'',
"ZMPoczta" VARCHAR(35) COLLATE "PLK_CI" DESCRIPTION ''Poczta'',
"MalzonekId" INTEGER DESCRIPTION ''Identyfikator współmałżonka'',
"Malzonek" VARCHAR(80) COLLATE "PLK_CI" DESCRIPTION ''Współmałżonek'',
"MKraj" VARCHAR(35) COLLATE "PLK_CI" DESCRIPTION ''Kraj'',
"MRegion" VARCHAR(100) COLLATE "PLK_CI" DESCRIPTION ''Region'',
"MUlica" VARCHAR(45) COLLATE "PLK_CI" DESCRIPTION ''Ulica'',
"MDom" VARCHAR(9) COLLATE "PLK_CI" DESCRIPTION ''Dom'',
"MLokal" VARCHAR(5) COLLATE "PLK_CI" DESCRIPTION ''Lokal'',
"MMiejscowosc" VARCHAR(35) COLLATE "PLK_CI" DESCRIPTION ''Miejscowość'',
"MKodPocztowy" VARCHAR(8) COLLATE "PLK_CI" DESCRIPTION ''Kod pocztowy'',
"MPoczta" VARCHAR(35) COLLATE "PLK_CI" DESCRIPTION ''Poczta'',
"Uwagi" VARCHAR(240) COLLATE "PLK_CI" DESCRIPTION ''Uwagi''
)
DESCRIPTION ''Taxi Tytuły''
VERSION 1.03
READWRITE
UNENCRYPTED
INDEX PAGE SIZE 4096
BLOB BLOCK SIZE 512
PUBLISH BLOCK SIZE 512
PUBLISH COMPRESSION 0
MAX ROW BUFFER SIZE 32768
MAX INDEX BUFFER SIZE 65536
MAX BLOB BUFFER SIZE 32768
MAX PUBLISH BUFFER SIZE 32768';

EXECUTE IMMEDIATE 'CREATE INDEX "TaxiTyt_Data" ON "TaxiTyt" ("Data")';

EXECUTE IMMEDIATE 'CREATE INDEX "TaxiTyt_Znak" ON "TaxiTyt" ("Znak" COLLATE "PLK_CI")';

EXECUTE IMMEDIATE 'CREATE INDEX "TaxiTyt_Numer" ON "TaxiTyt" ("Numer" COLLATE "PLK_CI")';

EXECUTE IMMEDIATE 'CREATE INDEX "TaxiTyt_Nazwa" ON "TaxiTyt" ("Nazwa" COLLATE "PLK_CI")';

EXECUTE IMMEDIATE 'CREATE INDEX "TaxiTyt_Adres" ON "TaxiTyt" ("Adres" COLLATE "PLK_CI")';

EXECUTE IMMEDIATE 'CREATE INDEX "TaxiTyt_Rejestr_Data" ON "TaxiTyt" ("Rejestr", "Data")';

EXECUTE IMMEDIATE 'CREATE INDEX "TaxiTyt_Rejestr_Znak" ON "TaxiTyt" ("Rejestr", "Znak" COLLATE "PLK_CI")';

EXECUTE IMMEDIATE 'CREATE INDEX "TaxiTyt_Rejestr_Numer" ON "TaxiTyt" ("Rejestr", "Numer" COLLATE "PLK_CI")';

EXECUTE IMMEDIATE 'CREATE INDEX "TaxiTyt_Rejestr_Nazwa" ON "TaxiTyt" ("Rejestr", "Nazwa" COLLATE "PLK_CI")';

EXECUTE IMMEDIATE 'CREATE INDEX "TaxiTyt_Rejestr_Adres" ON "TaxiTyt" ("Rejestr", "Adres" COLLATE "PLK_CI")';

EXECUTE IMMEDIATE 'CREATE INDEX "TaxiTyt_Rejestr_Wierzyciel" ON "TaxiTyt" ("Rejestr", "WierzycielId")';

EXECUTE IMMEDIATE 'CREATE INDEX "TaxiTyt_Rejestr_Zobowiazanie" ON "TaxiTyt" ("Rejestr", "Kod" COLLATE "PLK_CI")';

EXECUTE IMMEDIATE 'CREATE INDEX "TaxiTyt_Rejestr_Zobowiazany" ON "TaxiTyt" ("Rejestr", "PodmiotId")';

EXECUTE IMMEDIATE 'CREATE INDEX "TaxiTyt_Wierzyciel_Znak" ON "TaxiTyt" ("WierzycielId", "Znak" COLLATE "PLK_CI")';

EXECUTE IMMEDIATE 'CREATE INDEX "TaxiTyt_Rejestr_Zobowiazany_Wierzyciel" ON "TaxiTyt" ("Rejestr", "PodmiotId", "WierzycielId")';

EXECUTE IMMEDIATE 'CREATE TEXT INDEX "BizonSearch" ON "TaxiTyt" ("BizonSearch" COLLATE "PLK_CI")
INDEXED WORD LENGTH 30
';

EXECUTE IMMEDIATE 'ALTER TABLE "TaxiTyt"
ALTER COLUMN "Znak" AS VARCHAR(50) COLLATE "PLK_CI" DESCRIPTION ''Numer tytułu''
DESCRIPTION ''Taxi Tytuły''
VERSION 1.05';



Comments Comments
The problem was caused by the way the dependencies were being used to track the updates to the indexed columns.


Resolution Resolution
Fixed Problem on 12/22/2011 in version 2.07 build 1


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 PHP Standard
ElevateDB PHP Standard with Source
ElevateDB PHP Trial
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial

Image