dynamobi/dynamobi — Issue #574: [FRG-298] Creating a view on a temporary table causes MDR catalog errors
Author: dynamobi-build
Created: 2011-12-30 03:36:08+00:00
State: open
Labels: DDL, FRG

[reporter="jouellette", created="Wed, 3 Oct 2007 11:49:26 -0500 (GMT-05:00)"]
The error is InvalidObjectException - Object with MOFID no longer exists. Run this SQL *twice in a row* to reproduce the error, which occurs on the DROP SCHEMA command.

!set force true

drop schema ddlgen cascade;

CREATE SCHEMA ddlgen;

SET SCHEMA 'ddlgen';

CREATE GLOBAL TEMPORARY TABLE ddlgen.temptab(x char(3) primary key)

DESCRIPTION 'a temp table'

ON COMMIT DELETE ROWS;

CREATE VIEW v

DESCRIPTION 'a view' AS

SELECT * FROM ddlgen.temptab WHERE x IS NOT NULL;

--

Here's a stack dump:

SEVERE: Object with MOFID j:00000000000038EC no longer exists.

Oct 3, 2007 6:19:02 PM FarragoJdbcUtil newSqlException(ex)

FINER: THROW

javax.jmi.reflect.InvalidObjectException: Object with MOFID j:00000000000038EC no longer exists.

at org.netbeans.mdr.handlers.BaseObjectHandler._getDelegate(BaseObjectHandler.java:353)

at org.netbeans.mdr.handlers.InstanceHandler.getInstanceDelegate(InstanceHandler.java:48)

at org.netbeans.mdr.handlers.InstanceHandler._handleGetR(InstanceHandler.java:103)

at net.sf.farrago.fem.med.FemLocalIndex$Impl.getSpannedClass(Unknown Source)

at net.sf.farrago.catalog.FarragoCatalogUtil.getIndexTable(FarragoCatalogUtil.java:170)

at net.sf.farrago.db.FarragoDbSessionIndexMap.onCommit(FarragoDbSessionIndexMap.java:189)

at net.sf.farrago.db.FarragoDbSession.commitImpl(FarragoDbSession.java:732)

at net.sf.farrago.db.FarragoDbSession.executeDdl(FarragoDbSession.java:1182)

at net.sf.farrago.db.FarragoDbSession.prepareImpl(FarragoDbSession.java:1066)

at net.sf.farrago.db.FarragoDbSession.prepare(FarragoDbSession.java:946)