Icon View Incident Report

Serious Serious
Reported By: Terry Swiers
Reported On: 3/13/2019
For: Version 2.30 Build 5
# 4733 Dropping or Renaming a Database with Statement/Procedure Caching Enabled Can Cause AV

Dropping an in memory database without specifying "KEEP CONTENTS" in a session with SQL Statement Caching enabled throws an error.

Steps to reproduce:

1. Open a session with SQL Statement Caching enabled and create an in memory database:

CREATE DATABASE "TestMemDB" IN MEMORY UNENCRYPTED CATALOG

2 Open the database and create a table:

CREATE TABLE "TestTable" ("TestField" SMALLINT)

3. run the following query:

select * from testtable where testfield is not null

4. Close the database without closing the session, and then drop the database:

DROP DATABASE "TestMemDB"


The resulting error depends on if it's a local or remote session:

Local: Access violation at address 0057822C in module 'edbmgr.exe'. Read of address 00000004"

Remote: ElevateDB Error #300 Cannot lock the database TestMemDB for exclusive access


Comments Comments
This was an ordering issue. The cached statements/procedures were being cleared when the database was locked, and after the lock manager was opened/initialized. However, clearing the statements/procedures would end up causing the lock manager to be closed again.


Resolution Resolution
Fixed Problem on 3/15/2019 in version 2.31 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