Consultor Eletrônico



Kbase P38316: Agent caching record changes and not saving them in the database
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   8/11/2006
Status: Verified

FACT(s) (Environment):

Webspeed 3.1D

SYMPTOM(s):

Agent caching record changes and not saving them in the database

Agent keeps reporting same value for a database field which is not necessarily the value stored in the database.

4GL clients indeed show the correct value

There are no errors reported at all in the webspeed log files or database file.

CAUSE:

Not deleting dynamic queries and buffers created and stored in session widget pool.

The records appear cached because we already have the record in a different
buffer, when we try to re-find the record. When we re-find the record
NO-LOCK, we look for any copies of the record we already have in memory. As
there is another buffer holding an older copy of the record, we return that.
This is standard Progress behavior (To change this behavior,use
-rereadnolock).
In the reproducible case sent by the customer, the webspeed code leaves dynamic queries (and related buffers) around after a program finishes, so we always get an old copy of the record.

FIX:

Add CREATE WIDGET-POOL. line in the beginnings of every procedures and/or delete dynamic buffers and queries before procedure ends.