Icon View Incident Report

Serious Serious
Reported By: Francisco Fernandez
Reported On: 12/12/2008
For: Version 2.02 Build 5
# 2871 Triggers Not Working Properly If DDL Statements Cause Reload of the Database Catalog

As you know, i'm using triggers in my application. And normally are working well.

I have a customer with several clients. In one of clients modify a record that shoot a trigger and work fine but if in another client create a temporary table that nothing to do with the tables affected by the other client I get the error:

Elevate error #1000 an error ocurred with TempCursor (the cursor has no active row)

This error occurs in a AFTER UPDATE trigger of the table "VENTASLINEAS" and in the other client only have created a temporary table. If I close session and open again it works fine again.


Comments Comments
The issue is that the temporary table drop operation causes a reload of the database catalog because it fails (table doesn't exist), and the reload of the database catalog causes some internal tracking information for the triggers to get reset. This information is about the referenced OLDROW columns in the trigger, which causes the query using the OLDROW values to retrieve/insert the wrong row in the EXISTENCIAS table. This is not specific to temporary tables, and can be caused by any DDL/DML statement that causes an execution error.


Resolution Resolution
Fixed Problem on 12/14/2008 in version 2.02 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

Image