Resolving Limbo Transactions Using the Services API

From InterBase
Jump to: navigation, search

Go Up to Invoking Database Maintenance Using the Services API


You can list and correct transactions in a limbo state using the cluster identifier isc_action_svc_repair.

Limbo transactions are the result of interruptions in the two-phase commit process of InterBase. Most client interfaces, including BDE and ODBC, do not exercise the two-phase commit or distributed transaction capabilities of InterBase, therefore applications using such client interfaces never create limbo transactions.

The following table lists arguments to isc_action_svc_repair to resolve limbo transactions in a database:

Services API limbo transaction arguments
Argument Purpose Argument length Argument value

isc_spb_dbname

Path of the primary file of the database, from the point of view of the server.

2 bytes + string

String

isc_spb_rpr_commit_trans

Request that the Services Manager commit the transactions that follow.

isc_spb_rpr_rollback_trans

Request that the Services Manager roll back the transactions that follow.

isc_spb_rpr_recover_two_phase

Request that the Services Manager use automatic two-phase commit recovery on the specified transactions.

isc_spb_tra_id

Precedes a transaction ID number.

4 bytes

Unsigned long