Consultor Eletrônico



Kbase 13185: NO-UNDO - Variables and Workfiles
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/05/1998
NO-UNDO - Variables and Workfiles

NO-UNDO - Variables and Workfiles

For each procedure, PROGRESS creates two record buffers in the local
buffer pool to hold all variables declared in that procedure:

- One buffer holds all variables defined as UNDO (PROGRESS default)
- One buffer holds all variables defined as NO-UNDO.

Like all PROGRESS record buffers, these buffers are limited to 32k
each. This means that you can have up to 64k of variables in a
procedure: 32k of UNDO variables and 32k of NO-UNDO variables.

You should define variables as NO-UNDO whenever possible. Variables
defined as NO-UNDO do not have to be written to the local before image
(LBI) file.

NOTE: On page 8-42 of the Programming Handbook it states "the first
time a variable is altered within a subtransaction block, ALL of the
variables in the procedure are written to the LBI file as a record.
This is NOT TRUE for variables defined as NO-UNDO.
NO-UNDO variables will NOT be written to the LBI file.
All the UNDO variables are the variables that will get written to the
LBI file as a record. The overhead of sending all of the UNDO
variables in the transaction to the LBI file is much lower than
sending just the specific undo variable that was changed. This avoids
the overhead of PROGRESS having to keep track of all the changes made
to the undo variables.

Workfile records,variables and data records are held in memory
which is allocated for each client user with the -l Local Buffer Size
startup option.

Workfiles occupy space in the local record buffer. Work files are to
database files what variables are to database fields. Like a variable
a work file is a temporary file that is stored in memory rather than
in the database and can either be local to a single procedure or
shared between procedures.

If a Workfile is defined as NO-UNDO all activity occurring during
the workfile will not be written to the LBI file.

Progress Software Technical Support Note # 13185