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.