Icon View Incident Report

Serious Serious
Reported By: Fernando Dias
Reported On: 1/8/2021
For: Version 2.33 Build 2
# 4801 Queries on Views Can Experience an Access Violation During Statement Destruction

I'm getting this error executing the following script:

ElevateDB Error #900 An error occurred with the statement at line 40 and column 5
(Access violation at address 007130E8 in module 'edbmgr.exe'. Read of address 00000018)

The error happens both in EDBManager and my application.

SCRIPT (IN Filtro VARCHAR)
BEGIN
  DECLARE Sql1 VARCHAR;
  DECLARE SqlSt STATEMENT;
      
  -- Tablela temporária com pré-selecção dos documentos
  SET Sql1 = '
  CREATE TEMPORARY TABLE "Tmp_LisCompras_Com" AS
    SELECT
    TipoDoc, NumReg, CodFornecedor, Nome, CodPais, NumDoc, DataDoc, DataVencimento, CodMoeda, Cambio, ValorTotal, TotalTaxas, DescontoFin, Total, TotalAPagar,  
    TD.DescricaoPlural as DescTipoDoc, TD.Movimento, P.UE
  FROM
    ComCab C 
    LEFT OUTER JOIN TiposDoc TD ON TD.TipoDoc=C.TipoDoc 
    LEFT OUTER JOIN Paises P ON P.CodPais=C.CodPais
  ' ;
  IF COALESCE(Filtro, '') <> '' THEN
    SET Sql1 = Sql1 + ' WHERE ' + Filtro;
  END IF;                
  EXECUTE IMMEDIATE Sql1 + ' WITH DATA';
  EXECUTE IMMEDIATE 'CREATE INDEX idx_TipoCom ON Tmp_LisCompras_Com (TipoDoc, NumReg)';
  EXECUTE IMMEDIATE 'CREATE INDEX idx_CodFornecedor ON Tmp_LisCompras_Com (CodFornecedor, TipoDoc, NumReg)';

  -- Tabela temporária com ivas por taxas dos documentos seleccionados

  SET Sql1 = '
  CREATE TEMPORARY TABLE "Tmp_LisCompras_Iva" AS
  SELECT 
    * 
  FROM 
    ComIva I
  WHERE
    EXISTS(SELECT NumReg FROM Tmp_LisCompras_Com C WHERE (C.TipoDoc, C.NumReg) = (I.TipoDoc, I.NumReg) )
  WITH DATA
  ' ;

  EXECUTE IMMEDIATE Sql1 ;

  EXECUTE IMMEDIATE
    'CREATE INDEX idx_TipoCom ON Tmp_LisCompras_Iva ("TipoDoc", "NumReg", "CodIva", "PctIva")';

END



Comments Comments
The issue was with how the view destruction was being handled relative to the parent statement destruction.


Resolution Resolution
Fixed Problem on 2/4/2021 in version 2.34 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