Kbase P125582: Using an incomplete WHERE clause in a FOR EACH statement does not raise an error condition.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  08/05/2009 |
|
Status: Verified
SYMPTOM(s):
Using an incomplete WHERE clause in a FOR EACH statement does not raise an error condition.
A lock option is set as the right-hand-side for an expression in the WHERE clause.
e.g. FOR EACH Employee WHERE EmpNum = NO-LOCK:
FACT(s) (Environment):
OpenEdge 10.x
All Supported Operating Systems
CAUSE:
Bug# OE00156836
CAUSE:
A regression bug in OpenEdge 10.x allows Progress to evaluate the key words EXCLUSIVE-LOCK, SHARE-LOCK, NO-LOCK and NO-WAIT as the integer values 6207, 6208, 6209 and 6090 respectively.
FIX:
Upgrade to 10.1C
Alternately, one workaround is to place the locking option (i.e. EXCLUSIVE-LOCK, SHARE-LOCK or NO-LOCK ) before the WHERE keyword. For example, instead of using:
FOR EACH Customer WHERE Custnum = {&PREPROCESSOR} NO-LOCK.
Use:
FOR EACH Customer NO-LOCK WHERE Custnum = {&PREPROCESSOR}.