/// <summary>
/// Used when a connection is closed
/// </summary>
public void Prepare()
{
NpgsqlEventLog.LogMethodEnter(LogLevel.Debug, CLASSNAME, "Prepare");
if (_inTransaction)
{
// may not be null if Promote or Enlist is called first
if (_callbacks == null)
{
_callbacks = new NpgsqlTransactionCallbacks(_connection);
}
_callbacks.PrepareTransaction();
if (_npgsqlTx != null)
{
// cancel the NpgsqlTransaction since this will
// be handled by a two phase commit.
_npgsqlTx.Cancel();
_npgsqlTx.Dispose();
_npgsqlTx = null;
}
}
}