public void MarkAllProcessedMessagesWithTransactionsNotRegisterForRecoveryAsReadyToDeliver()
{
var txsWithRecovery = new HashSet<Guid>();
Api.MoveBeforeFirst(session, recovery);
while (Api.TryMoveNext(session, recovery))
{
var idAsBytes = Api.RetrieveColumn(session, recovery, ColumnsInformation.RecoveryColumns["tx_id"]);
txsWithRecovery.Add(new Guid(idAsBytes));
}
var txsWithoutRecovery = new HashSet<Guid>();
Api.MoveBeforeFirst(session, txs);
while (Api.TryMoveNext(session, txs))
{
var idAsBytes = Api.RetrieveColumn(session, txs, ColumnsInformation.RecoveryColumns["tx_id"]);
txsWithoutRecovery.Add(new Guid(idAsBytes));
}
foreach (var txId in txsWithoutRecovery)
{
if (txsWithRecovery.Contains(txId))
continue;
ReverseAllFrom(txId);
}
}