Datalink manager log records are the result of DDL, DML, or completion of
transaction events involving DATALINK columns. These log records are
written only when the DDL or the DML involves DATALINK columns with the file
link control attribute.
Table 130. Datalink Manager Log Record Header Structure (DLMLogRecordHeader)
Description | Type | Offset (Bytes) | ||
---|---|---|---|---|
Component identifier (=8) | unsigned char | 0(1) | ||
Function identifiera | unsigned char | 1(1) | ||
padding | char [] | 2(2) | ||
Total Length: 6 bytes | ||||
|
The link file log record is written when an insert or an update on a table
with a DATALINK column creates a link to a file. One log record is
written for each new link that is created. This log record is only used
for undo.
Table 131. Link File Log Record Structure
Description | Type | Offset (Bytes) |
---|---|---|
Log header | DLMLogRecordHeader | 0(4) |
ServerId | long | 4(4) |
ReadOnly | int | 8(4) |
AuthId | char [] | 12(8) |
GroupId | char [] | 20(17) |
padding | char [] | 37(1) |
AccessControl | unsigned short | 38(2) |
PrefixId | char [] | 40(9) |
padding | char [] | 49(3) |
RecoveryId | char [] | 52(7) |
padding | char [] | 59(1) |
StemNameLen | unsigned long | 60(4) |
StemName | variable | 64(variable) |
Total Length: 64 bytes plus stem name length |
The unlink file log record is written when a delete or an update on a table
with a DATALINK column drops a link to a file. One log record is
written for each new link that is created. This log record is only used
for undo.
Table 132. Unlink File Log Record Structure
Description | Type | Offset (Bytes) |
---|---|---|
Log header | DLMLogRecordHeader | 0(4) |
ServerId | long | 4(4) |
PrefixId | char [] | 8(9) |
padding | char [] | 17(3) |
RecoveryId | char [] | 20(7) |
padding | char [] | 27(1) |
StemNameLen | unsigned long | 28(4) |
StemName | variable | 32(variable) |
Total Length: 32 bytes plus stem name length |
The delete group log record is written when a table with DATALINK columns
(having the file link control attribute) is dropped. One log record is
written for each such DATALINK column for each DLFM configured in the
datalinks configuration file. For a given DLFM, the log record is
written only if that DLFM has the group defined on it when the table is
dropped. This log record is only used for undo.
Table 133. Delete Group Log Record Structure
Description | Type | Offset (Bytes) |
---|---|---|
Log header | DLMLogRecordHeader | 0(4) |
ServerId | long | 4(4) |
RecoveryId | char [] | 8(7) |
padding | char [] | 15(1) |
GroupId | char [] | 16(17) |
padding | char [] | 33(3) |
Total Length: 36 bytes |
The delete pgroup log record is written when a table space is
dropped. One log record is written for each DLFM configured in the
datalinks configuration file. For a given DLFM, the log record is
written only if that DLFM has the pgroup defined on it when the table space is
dropped. This log record is only used for undo.
Table 134. Delete PGroup Log Record Structure
Description | Type | Offset (Bytes) |
---|---|---|
Log header | DLMLogRecordHeader | 0(4) |
ServerId | long | 4(4) |
poolLifeLSN | SQLU_LSN | 8(6) |
poolId | unsigned short | 14(2) |
RecoveryId | char [] | 16(7) |
padding | char [] | 23(1) |
Total Length: 24 bytes |
The DLFM prepare log record is written during the prepare phase, when a
two-phase commit is used for transactions involving DLFMs. It is used
to recreate a transaction for DLFMs that are in-doubt.
Table 135. DLFM Prepare Log Record Structure
Description | Type | Offset (Bytes) |
---|---|---|
Log header | DLMLogRecordHeader | 0(4) |
NumDLFMs | unsigned short | 4(4) |
ServerIds | variable | 8(variable) |
Total Length: 8 bytes plus (NumDLFMs * 4) |