Kbase P159392: Application hangs (loops forever) while trying to find open record in table to use for new record wh
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  04/02/2010 |
|
Status: Unverified
SYMPTOM(s):
Application uses a concept of a "slot" in their application. A "slot" is simply a record in a table where the number of records in the table is limited to 999,999 records. A "slot" is defined as a unique integer value from 1 to 999,999 and corresponds to the primary unique key for the table.
Records (slots) in the table are created and deleted as needed
The application hangs (loops forever) while trying to find a free record (slot) in the table
The code that finds an open record (slot) grabs the current value from a sequence then loops forever calling next-value on the sequence and doing a find against the database table until the find statement fails (indicating it has found an open record (slot))
The database sequence is defined as having a minimum value of 1, a maximum value of 999999 and will over back to the minimum value when the maximum is reached
No changes can be made to the database which require recompilation of application code
FACT(s) (Environment):
All Supported Operating Systems
Progress/OpenEdge Product Family
CAUSE:
The database table has all available records (slots) used (i.e. there are 999,999 records in the table)
FIX:
Archive off unneeded records from the table so that records (slots) are freed up for reuse