gda.xa_transaction

Module for [XaTransaction] class

Types 4

Methods
GType _gType() @property
XaTransaction self()Returns `this`, for use in `with` statements.
XaTransactionGidBuilder builder()Get builder for [gda.xa_transaction.XaTransaction] Returns: New builder object
uint formatId() @property
string transactionId() @property
bool begin()Begins a distributed transaction (managed by xatrans). Please note that this phase may fail for some connections if a (normal) transaction is already started (this depends on the database provider ...
bool commit(out gda.connection.Connection[] cncToRecover)Commits a distributed transaction (managed by xa_trans). The commit is composed of two phases: <itemizedlist> <listitem><para>a PREPARE phase where all the connections are required to store their t...
bool commitRecovered(out gda.connection.Connection[] cncToRecover)Tries to commit the data prepared but which failed to commit (see [gda.xa_transaction.XaTransaction.commit]). This method allows one to terminate a distributed transaction which succeeded but for w...
bool registerConnection(gda.connection.Connection cnc, string branch)Registers cnc to be used by xa_trans to create a distributed transaction.
bool rollback()Cancels a distributed transaction (managed by xa_trans). Returns: true if no error occurred Throws: [XaTransactionException]
void unregisterConnection(gda.connection.Connection cnc)Unregisters cnc to be used by xatrans to create a distributed transaction. This is the opposite of [gda.xatransaction.XaTransaction.registerConnection].
Constructors
this(void * ptr, Flag!"Take" take)
this(uint format, string globalTransactionId)Creates a new #GdaXaTransaction object, which will control the process of performing a distributed transaction across several connections.

Fluent builder for [gda.xa_transaction.XaTransaction]

Constructors
this(GError * err)
this(Code code, string msg)