There are five isamdef keywords used to set up two tables in shared memory. These keywords are used to control record locking.

Open File Table

This table is used to keep track of all the PROIV files (only internal files) currently in use by a user. It contains one entry for every file currently open by any user (if multiple users have the same file open, or one user has a file open more than once, this only uses one entry in the table).

The size of this table is defined by the MAXFILES keyword. This will limit the total number of different open PROIV files allowed at any one time for all users combined.

If the open file table fills up, any attempt to open a file will fail, with the message:

054 - ERROR IN OPENING FILE – filename

until an entry is freed up by a user closing a file.

Record Lock Table

This table has an entry for every record currently locked by any user.  Its size is defined by the other four keywords. Note that these values are multiplied/added together as in the equation above to determine the total size of the record lock table. It is possible to keep adding entries to this table until it fill - it does not matter if one of the four values is exceeded, as long as the total size is not exceeded.

If the record lock table fills up, any attempt to add any new entries (by locking a record) results in the message:

RECORD IS LOCKED – WAITING

being returned until an entry is freed up by a record being unlocked.

Comment on this topic

Topic ID: 720039

 
 
 

Table of Contents

Index

Glossary

-Search-

Back