Enscribe Programmer's Guide
if programs use the 32-bit file-system attributes that describe them. In particular, the End of File
(EOF) and Maximum File Size attributes cannot describe files greater than approximately 2 GB
(as a signed integer) or 4 GB (unsigned) in the 32-bit form, so the 64-bit forms should be used
instead.
EKS key-sequenced files with increased limits can have up to 128 partitions and the maximum
possible size is ~127 TB.
Queue files cannot be partitioned.
Other File Types
Entry-sequenced and relative files can have up to 16 partitions. However, the system imposes a
limit of approximately 4 GB (4 GB minus 4 KB) on these types of files if they are format 1. The
system returns an error 21 if there is an attempt to exceed the limit.
Files in the Range of 2 GB to 4 GB
With files between 2 GB and 4 GB, applications might encounter problems with arithmetic
operations that involve signed 32-bit integers. The 32-bit values that are used by some file-system
attributes (such as EOF) must be interpreted as unsigned integers to prevent errors. Use of the 64-bit
forms of these attributes instead is recommended.
Audit-Checkpoint Compression
When an Enscribe file is being audited by TMF or has been opened with a sync depth greater
than 0, updating a record in the particular file causes an audit-checkpoint (AC) record to be
created. The AC record, which describes changes incurred as a result of the update, is sent to the
backup disk process. If the file is being audited by TMF, then the AC record also is sent to the
audit trail's disk process and eventually written to the audit trail.
When a file is audited, the AC record is copied from place to place several times. The AC record
occupies permanent space in the audit-trail file and also occupies resident memory in the backup
disk process until the backup determines that the updated record has been written to disk. If the
file is not audited, the AC record is sent as a checkpoint message to the backup disk process,
where it occupies resident memory until it is no longer needed for takeover recovery.
An AC record includes:
• a record header approximately 64 bytes long
• a copy of the record before the update, or before-image
• a copy of the record after the update, or after-image.
If a data record is 1000 bytes long, the AC record for its update would be 2064 bytes long.
AC compression shortens parts (2) and (3) of the AC record by omitting the unchanged fragments
of the data record. The AC record must include the record key (in a key-sequenced or queue file),
the relative byte address (in an unstructured or entry-sequenced file), or the record number (in a
relative file), but no other unchanged fields. For example, if only two 10-byte fields in a 1000-byte
record were updated, the compressed AC record could be about 130 bytes long instead of 2064
bytes. Although AC compression uses some extra CPU cycles, it has several advantages:
• Processor and memory cycles are reduced during message transferal, although some extra
cycles are required to perform the compression.
• Resident memory requirements in the backup CPU are reduced.
• If the file is audited, audit-trail consumption is reduced and audit blocking is more efficient
because of the smaller AC records.
File Creation 49