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.