Icon View Incident Report

Serious Serious
Reported By: Terry Swiers
Reported On: 11/1/2010
For: Version 2.04 Build 4
# 3344 Using ALTER TABLE on a Table Containing GENERATED or COMPUTED Expression Columns Can Cause AV

If you run the following script it will throw an AV. But if you run the same altertable as a SQL statement rather than as a script it runs without problems. Once the alter statement is run once as a statement, subsequent attempts running it as a script will succeed.

SCRIPT
BEGIN
EXECUTE IMMEDIATE 'ALTER TABLE "code"
VERSION 13
INDEX PAGE SIZE 8192
BLOB BLOCK SIZE 1024
PUBLISH BLOCK SIZE 1024
PUBLISH COMPRESSION 0
MAX ROW BUFFER SIZE 524288
MAX INDEX BUFFER SIZE 4194304
MAX BLOB BUFFER SIZE 131072
MAX PUBLISH BUFFER SIZE 32768';
END



Comments Comments
The issue was related to how GENERATED and COMPUTED expression columns were being copied from a temporary version of the table metadata to the final version. Such columns would have references to the temporary version left in place, which would cause an AV when accessed later because the temporary version had since been freed.


Resolution Resolution
Fixed Problem on 11/4/2010 in version 2.05 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