Consultor Eletrônico



Kbase P133008: Error 1422 when undoing a temp-table without a opened transaction
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   09/10/2009
Status: Verified

SYMPTOM(s):

Error 1422 when undoing a temp-table without a opened transaction

SYSTEM ERROR: Index in for recid could not be deleted. (1422)

FACT(s) (Environment):

Temp-table defined as UNDO.
All Supported Operating Systems
Progress 9.x
OpenEdge 10.x

CAUSE:

This is expected behavior. Even if a temp-tables is defined as undo a transaction is not started unless transaction is forced with a DO TRANSACTION block.

Per documentation notes:
"Data handling statements that cause the AVM to automatically start a transaction for a regular table will not cause the AVM to automatically start a transaction for a temp-table. If you want to start a transaction for operations involving a temp-table, you must explicitly start a transaction by using the TRANSACTION keyword."

FIX:

Add a TRANSACTION block so that if a UNDO happen it will be undone properly.