Project

General

Profile

Bug #6310

for first "first()", exclusive-lock, raises FWD exception while 4GL raises at the field assign

Added by Tijs Wickardt about 2 years ago. Updated about 2 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
case_num:
version:

History

#1 Updated by Tijs Wickardt about 2 years ago

Greg Shah wrote:

In regard to the unrelated issues, make a list and post them here. We will move them to another task, but some of them may already be known so I want to help "sort them" first.

Unrelated issues:
. From: testcases/toplevel_trans/tests/ip_dynamic_field_update.p

procedure ip_shouldfail:

  for first customer exclusive-lock:
    buffer customer::customerName = "ip_shouldfail:":U + cGuid no-error.
    if error-status:get-number(1) <> 7369 then  
      undo, throw new Progress.Lang.AppError(
        "UNEXPECTED: The following should have been raised: 'Update of buffer field object requires a transaction. (7369)'",
        9992882).
  end.

  &if defined(FWD-VERSION) > 0 &then
  /* Workaround for unrelated FWD exceptional flow mishap (at the find exclusive -> buf.first() in FWD) */
  /* Sadly, even this workaround does not fire. To be investigated. */
  catch e as Progress.Lang.Error:
    if e:GetMessageNum(1) <> 7369 then  
      undo, throw new Progress.Lang.AppError(
        "UNEXPECTED: The following should have been raised: 'Update of buffer field object requires a transaction. (7369)'",
        9992883).
  end catch.
  &endif
end procedure.
  1. The .first() exclusive causes a raise in FWD, not in the originating for first in OE (where the silent error will happen at the assign)
  2. Therefore I cannot check the no-error at the assign for error no 7369
  3. The raised exception does not enter a FWD catch block for this (sub)scenario

#3 Updated by Tijs Wickardt about 2 years ago

Greg Shah wrote:

Please create a bug in the Database project for this issue. We will focus on item 1 and then see what is still open.

Also available in: Atom PDF