Kbase P98843: What is an ICB?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  12/11/2008 |
|
Status: Unverified
GOAL:
What is an ICB?
GOAL:
What is an Index Cursor Buffer?
FACT(s) (Environment):
All Supported Operating Systems
Progress/OpenEdge Product Family
FIX:
"icb" is an abbreviation for "in-core buffer" ie a record buffer in the 4GL/ABL client.
It is used for locking records. The locking occurs at the ICB level.
In a situation where you do.
FIND FIRST CUSTOMER EXCLUSIVE-LOCK.
The ICB upgraded the record to exclusive-lock.
When the transaction ended, the ICB downgrades the record to share-lock.
When the record scope ends, the ICB breaks the connection with the customer record-buffer, but since the ICB for the record is still active, it leaves the record SHARE locked.
The database contains one instance of a record and locks are applied to that. In the 4GL runtime, there is a copy of the record in the Internal Cursor Buffer.
The ICB is filled when a record is fetched from the database or when one is created in the application.
The 4GL program's buffers point to an ICB, but more than one buffer can point to the same ICB when they refer to the same record.
See also the -brl Startup Parameter on how to modify this behavior.
See also Solution P98844 , "What is an IC?"