Consultor Eletrônico



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