MongoDB\Driver\Session::commitTransaction
(mongodb >=1.5.0)
MongoDB\Driver\Session::commitTransaction — Фиксирует транзакцию
Описание
final public MongoDB\Driver\Session::commitTransaction
(
) : void
Сохраняет изменения, внесенные операциями в многодокументную транзакцию и завершает транзакцию. До фиксации ни одно изменение данных, сделанных из транзакции, не будет видно за пределами транзакции.
Список параметров
У этой функции нет параметров.
Возвращаемые значения
Эта функция не возвращает значения после выполнения.
Ошибки
- При ошибке парсинга аргумента бросает исключение MongoDB\Driver\Exception\InvalidArgumentException.
- Выдает исключение
MongoDB\Driver\Exception\CommandException, если
сервер не смог зафиксировать транзакцию (например, из-за конфликтов, проблем с сетью).
В случае, если исключение
MongoDB\Driver\Exception\CommandException::getResultDocument()
имеет элемент
"errorLabels"
, и этот массив содержит значение"TransientTransactionError"
или"UnUnknownTransactionCommitResult"
, можно повторить попытку всей транзакции. В более новых версиях драйвера вместо этого следует использовать MongoDB\Driver\Exception\RuntimeException::hasErrorLabel() для проверки этой ситуации. - Выдает исключение MongoDB\Driver\Exception\RuntimeException, если транзакция не может быть зафиксирована (например, транзакция не была запущена).
Смотрите также
- MongoDB\Driver\Manager::startSession() - Запускает новый клиентский сеанс для использования с этим клиентом
- MongoDB\Driver\Session::abortTransaction() - Прерывает транзакцию
- MongoDB\Driver\Session::startTransaction() - Запускает транзакцию
- MongoDB\Driver\Exception\RuntimeException::hasErrorLabel() - Возвращает, связана ли метка ошибки с исключением