Kbase P157232: Procedure using CAN-DO statement causes Procedure Editor to restart.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  12/14/2009 |
|
Status: Unverified
SYMPTOM(s):
Procedure using CAN-DO statement causes Procedure Editor to restart.
Lock table overflow, increase -L on server (915)
On Windows error message "Lock table overflow, increase -L on server (915)" appears in a pop-up box.
On UNIX no error message is being displayed on the screen but the (915) error can be seen in the logfile.
FACT(s) (Environment):
OpenEdge 10.x
Progress 9.x
All Supported Operating Systems
CAUSE:
This is expected behavior. The CAN-DO statement evokes a table scan, and due to the lock status on the FIND/FOR statement being used (either SHARE-LOCK or EXCLUSIVE-LOCK) all the records in the database table are being locked. In this particular case -L was not explicitly specified and the default value was not high enough. Subsequently the number of records being locked exceeded the Lock Table.
FIX:
There are three ways to fix this:
1. Do not use the CAN-DO statement and thus avoid the table scan and locking of all records
2. Increase -L until the error does not occur anymore (the value required for -L will depend on the size of the table)
3. Include the NO-LOCK statement in your code