Transaction control

The Transaction control explains its use with the server and provides the results.

Description
The Transaction control is sent along with update operations run within a transaction.
Note: This control is enabled by default, but can be disabled by changing the value in the configuration file for the ibm-slapdTransactionEnable attribute.

The ibm-slapdTransactoinEnabled attribute is in the configuration file in the cn=Transaction,cn=configuration entry. If the value is set to FALSE, transactions are not enabled. If set to TRUE, transactions are enabled. Transactions can also be enabled or disabled by using the web administration tool.

OID
1.3.18.0.2.10.5
Syntax
The controlValue is set to the transaction ID returned in the StartTransaction response.
Behavior
This control is registered for the following operations:
  • Add
  • Delete
  • Modify
  • Modrdn
Any user can send this control.

If more information is required for the control, and the transaction ID sent in the control does not match the transaction ID on the connection, then LDAP_PROTOCOL_ERROR is returned.

This control has the following possible return codes:
  • LDAP_SUCCESS
  • LDAP_PROTOCOL_ERROR
  • LDAP_TIMELIMIT_EXCEEDED
  • LDAP_SIZELIMIT_EXCEEDED

The Administration Server does not support this control.

Scope
The control lasts for the term of one operation, but must be sent only in a transactional context. When the control is sent only with an update operation to the RDBM back-end, the server holds the update until an end-transaction request is received. The control is only supported on updated operations that are run in a transactional context (a start transaction extended operation must be run first).
Auditing
When the server receives this control, the audit plug-in adds the following lines to the audit entry:
controlType: control ID
criticality: true | false