Pass a transaction instance as the first argument of Predis\Transaction\AbortedMultiExecException.

This commit is contained in:
Daniele Alessandri
2011-06-02 17:34:06 +02:00
parent b3910466c9
commit 087b8b0b2b
2 changed files with 12 additions and 4 deletions
@@ -5,5 +5,14 @@ namespace Predis\Transaction;
use Predis\PredisException;
class AbortedMultiExecException extends PredisException {
// Aborted MULTI/EXEC transactions
private $_transaction;
public function __construct(MultiExecContext $transaction, $message, $code = null) {
$this->_transaction = $transaction;
parent::__construct($message, $code);
}
public function getTransaction() {
return $this->_transaction;
}
}
+2 -3
View File
@@ -194,9 +194,8 @@ class MultiExecContext {
$reply = $this->_client->exec();
if ($reply === null) {
if ($attemptsLeft === 0) {
throw new AbortedMultiExecException(
'The current transaction has been aborted by the server'
);
$message = 'The current transaction has been aborted by the server';
throw new AbortedMultiExecException($this, $message);
}
$this->reset();
if (isset($this->_options['on_retry']) && is_callable($this->_options['on_retry'])) {