The transaction manager produces log records signifying the completion of transaction events (for example, commit or rollback). The time stamps in the log records are in Coordinated Universal Time (CUT), and mark the time (in seconds) since January 01, 1970.
This log record is written for XA transactions in a single-node environment, or on the coordinator node in MPP. It is only used for XA applications. The log record is written when a transaction commits after one of the following events:
Table 106. Normal Commit Log Record Structure
Description | Type | Offset (Bytes) | ||
---|---|---|---|---|
Log header | LogManagerLogRecordHeader | 0(20) | ||
Time transaction committed | unsigned long | 20(4) | ||
Authorization identifier of the applicationa | char [ ] | 24(9) | ||
Total Length: 33 bytes propagatable (24 bytes non-propagatable) | ||||
|
This log record is written when an indoubt transaction is committed.
Table 107. Heuristic Commit Log Record Structure
Description | Type | Offset (Bytes) | ||
---|---|---|---|---|
Log header | LogManagerLogRecordHeader | 0(20) | ||
Time transaction committed | unsigned long | 20(4) | ||
Authorization identifier of the applicationa | char [ ] | 24(9) | ||
Total Length: 33 bytes propagatable (24 bytes non-propagatable) | ||||
|
This log record is written on a coordinator node for an application that
performs updates on at least one subordinator node.
Table 108. MPP Coordinator Commit Log Record Structure
Description | Type |
---|---|
Log header | LogManagerLogRecordHeader |
MPP identifier of the transaction | SQLP_GXID |
Maximum node number | 2 bytes |
TNL | variable, (max node no / 8) + 1 |
Authorization identifier | char [ ] |
This log record is written on a subordinator node in MPP.
Table 109. MPP Subordinator Commit Log Record Structure
Description | Type | Offset (Bytes) |
---|---|---|
Log header | LogManagerLogRecordHeader | 0(20) |
MPP identifier of the transaction | SQLP_GXID | 20(20) |
Authorization identifier | char [ ] | 40(9) |
Total Length: 49 bytes |
This log record is written when a transaction aborts after one of the following events:
Table 110. Normal Abort Log Record Structure
Description | Type | Offset (Bytes) | ||
---|---|---|---|---|
Log header | LogManagerLogRecordHeader | 0(20) | ||
Authorization identifier of the applicationa | char [ ] | 20(9) | ||
Total Length: 29 bytes propagatable (20 bytes non-propagatable) | ||||
|
This log record is written when an indoubt transaction is aborted.
Table 111. Heuristic Abort Log Record Structure
Description | Type | Offset (Bytes) | ||
---|---|---|---|---|
Log header | LogManagerLogRecordHeader | 0(20) | ||
Authorization identifier of the applicationa | char [ ] | 20(9) | ||
Total Length: 29 bytes propagatable (20 bytes non-propagatable) | ||||
|
This log record is written if a transaction commits and a pending list
exists. The pending list is a linked list of nonrecoverable operations (such
as deletion of a file) that can only be performed when the user/application
issues a COMMIT. The variable length structure contains the pending list
entries.
Table 112. Local Pending List Log Record Structure
Description | Type | Offset (Bytes) | ||
---|---|---|---|---|
Log header | LogManagerLogRecordHeader | 0(20) | ||
Time transaction committed | unsigned long | 20(4) | ||
Authorization identifier of the applicationa | char [ ] | 24(9) | ||
Pending list entries | variable | 33(variable) | ||
Total Length: 33 bytes plus pending list entries propagatable (24 bytes plus pending list entries non-propagatable) | ||||
|
This log record is written if a transaction involved in a two-phase commit
commits, and a pending list exists. The pending list contains nonrecoverable
operations (such as deletion of a file) that can only be performed when the
user/application issues a COMMIT. The variable length structure contains the
pending list entries.
Table 113. Global Pending List Log Record Structure
Description | Type | Offset (Bytes) | ||
---|---|---|---|---|
Log header | LogManagerLogRecordHeader | 0(20) | ||
Time transaction committed | unsigned long | 20(4) | ||
Authorization identifier of the applicationa | char [ ] | 24(9) | ||
Global pending list entries | variable | 32(variable) | ||
Total Length: 33 bytes plus pending list entries propagatable (24 bytes plus pending list entries non-propagatable) | ||||
|
This log record is written for XA transactions in a single-node
environment, or on the coordinator node in MPP. It is only used for XA
applications. The log record is written to mark the preparation of the
transaction as part of a two-phase commit. The XA prepare log record describes
the application that started the transaction, and is used to recreate an
indoubt transaction.
Table 114. XA Prepare Log Record Structure
Description | Type | Offset (Bytes) |
---|---|---|
Log header | LogManagerLogRecordHeader | 0(20) |
Log space used by transaction | unsigned long | 20(4) |
XA identifier of the transaction | variable | 24(140) |
Application name | char [ ] | 164(20) |
Application identifier | char [ ] | 184(32) |
Sequence number | char [ ] | 216(4) |
Authorization identifier | char [ ] | 220(8) |
Database alias used by client | char [ ] | 228(20) |
Code page identifier | unsigned long | 248(4) |
Time transaction prepared | unsigned long | 252(4) |
Synclog information | variable | 256(variable) |
Total Length: 256 bytes plus variable |
This log record is written for MPP transactions on subordinator nodes. The
log record is written to mark the preparation of the transaction as part of a
two-phase commit. The MPP subordinator prepare log record describes the
application that started the transaction, and is used to recreate an indoubt
transaction.
Table 115. MPP Subordinator Prepare Log Record Structure
Description | Type | Offset (Bytes) |
---|---|---|
Log header | LogManagerLogRecordHeader | 0(20) |
Log space used by transaction | unsigned long | 20(4) |
Coordinator LSN | unsigned char | 24(6) |
MPP identifier of the transaction | SQLP_GXID | 30(20) |
Application name | char [ ] | 50(20) |
Application identifier | char [ ] | 70(32) |
Sequence number | char [ ] | 102(4) |
Authorization identifier | char [ ] | 106(8) |
Database alias used by client | char [ ] | 114(20) |
Code page identifier | unsigned long | 134(4) |
Time transaction prepared | unsigned long | 138(4) |
Total Length: 142 bytes |