Consultor Eletrônico



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