Icon View Incident Report

Serious Serious
Reported By: Michael Reisch
Reported On: 10/30/2009
For: Version 2.03 Build 5
# 3093 Derived Tables Can Cause AV During Destruction of Owning Query or View

I have now upgraded to 2.03 and did some test´s with it on a small project. All works fine and I decide to move my main project now to EDB 2.03.

So I move my project from Delphi 7 (where I have EDB1.09 installed) to BDS2006 (with the new EDB2.03).

After a few changes my main application starts fine on BDS2006. Database access with the 2.03 components works fine, my database is still in version 1.09 format because I did no DDL changes yet.

When I close now my application it fails with EInvalidPointer Error in a Tobject.Free procedure. The callstack shows two Objects that I cannot find in my components.

TEDBSchemaObjectManagers and TEDBViewManagers.

Comments Comments
The problem was caused by the use of a derived table in a view. The derived table was causing the view manager that manages the temporary view (derived table) to AV during closing/destruction. The temporary view (derived table) was already destroyed, but the manager still tried to refer to it, thus causing the AV.

Resolution Resolution
Fixed Problem on 11/9/2009 in version 2.03 build 6

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