Kbase P80971: HAS-RECORDS on TEMP-TABLE:TABLE-HANDLE resets NEW attribute on BUFFER
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  6/16/2004 |
|
Status: Unverified
FACT(s) (Environment):
Progress 9.1D
FACT(s) (Environment):
OpenEdge 10.0A
SYMPTOM(s):
HAS-RECORDS on TEMP-TABLE:TABLE-HANDLE resets NEW attribute on BUFFER
Calling HAS-RECORDS attribute after creating new record sets NEW attribute to FALSE/NO
Checking NEW attribute before referencing HAS-RECORDS returns TRUE/YES
CAUSE:
There are many ways that NEW will get turned off which we do not document "when"
we write records to the database. NEW is on from the time a record is created until it gets written to the database. A record is flushed to the database for many reasons, for example: we needed to index it, so we needed a rowid; we needed the space in memory so we bumped it; we were about to run a subroutine so we bumped it; we were about to run merge-changes, reject-changes, accept-changes; or we were about to pass it as a parameter etc.
There are many occasions on which we need to have the table stable and flushed and the buffers flushed -all of which cause NEW to go off. This is true for real tables as well as temp tables. NEW is only good for a few statements after a CREATE.
FIX:
Expected behaviour