Consultor Eletrônico



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