Consultor Eletrônico



Kbase 18118: 4GL. Can't EMPTY-TEMP-TABLE() within a transaction with Version 9
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   07/09/2004
Status: Unverified

GOAL:

4GL. Why it is not possible to use the EMPTY-TEMP-TABLE() method within a transaction, UNLESS the temp-table was defined with the NO-UNDO option.

FACT(s) (Environment):

Progress 9.x

FIX:

You cannot use the EMPTY-TEMP-TABLE() method or the EMPTY TEMP-TABLE statement within a transaction unless that TEMP-TABLE has been defined as a NO-UNDO TEMP-TABLE.

Doing so results in the following error:

Only NO-UNDO temp-tables may be emptied during an active transaction. (6485)

This is because the .lbi file can have records of temp-table operations such as connections, disconnections as well as other notations, that happen during a transaction that may later get backed out.

Even though the temp-table records do not get backed out, the connections and disconnections would have to be re-created.

If the tables have been emptied out from under the .lbi file (which would not happen during ordinary deletes but can happen with the empty-temp-table method) we could be left with GPF's from non-existent record references.