Bug #6310
for first "first()", exclusive-lock, raises FWD exception while 4GL raises at the field assign
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:
Unrelated issues: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.
. 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.
- The
.first() exclusive
causes a raise in FWD, not in the originatingfor first
in OE (where the silent error will happen at the assign) - Therefore I cannot check the
no-error
at the assign for error no7369
- 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.