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"
또는"UnknownTransactionCommitResult"
값이 포함된 경우 전체 트랜잭션을 다시 시도하는 것이 안전합니다. 최신 버전의 드라이버에서는 대신 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() - 오류 레이블이 예외와 연결되었는지 여부를 반환합니다.