classTransactionStatement
final class TransactionStatement
A structure-aware transaction-control statement.
Methods§
public function __construct(
private TransactionOperation $operation,
private string $savepointName = '',
)Binds a statement to what it does, and to the savepoint it names.
Every way of building one goes through a named constructor, because which operation it is decides whether a name means anything.
Parameters
$operation | TransactionOperation | |
$savepointName | string |
Test cases 7
TransactionStatementTest::testApplyDoesWhatEachOperationSayscoversTransactionStatementTest::testBeginStartsATransactionARollbackCanGoBackTocoversTransactionStatementTest::testCommitKeepsEverythingTheTransactionDidcoversTransactionStatementTest::testReleaseCommitAppliesNamedTransactionLifecycleWithoutSqlcoversTransactionStatementTest::testRollbackAppliesRollbackcoversTransactionStatementTest::testRollbackToGoesBackToTheSavepointAndLeavesItDeclaredcoversTransactionStatementTest::testSavepointPreservesTheNamedTransactionBoundarycovers
public static function begin(): selfBegin.
Returns
selfTest cases 10
FakeTransactionStatementParser::parsecallsSessionTest::testApplyTransactionStatementDoesWhatTheStatementSayscallsSessionTest::testTransactionsAnswersWhatATransactionStatementIsAppliedTocallsTransactionStatementTest::testApplyDoesWhatEachOperationSayscovers and callsTransactionStatementTest::testBeginStartsATransactionARollbackCanGoBackTocovers and callsTransactionStatementTest::testCommitKeepsEverythingTheTransactionDidcovers and callsTransactionStatementTest::testReleaseCommitAppliesNamedTransactionLifecycleWithoutSqlcovers and callsTransactionStatementTest::testRollbackAppliesRollbackcovers and callsTransactionStatementTest::testRollbackToGoesBackToTheSavepointAndLeavesItDeclaredcovers and callsTransactionTargetTest::testBeginIsWhatABeginStatementAsksTheTargetForcalls
Calls 2
- new
selfline 33 - class-const TransactionOperation::Begin() line 33
public static function commit(): selfCommit.
Returns
selfTest cases 4
FakeTransactionStatementParser::parsecallsTransactionStatementTest::testCommitKeepsEverythingTheTransactionDidcovers and callsTransactionStatementTest::testReleaseCommitAppliesNamedTransactionLifecycleWithoutSqlcovers and callsTransactionTargetTest::testCommitIsWhatACommitStatementAsksTheTargetForcalls
Calls 2
- new
selfline 43 - class-const TransactionOperation::Commit() line 43
public static function rollback(): selfRollback.
Returns
selfTest cases 7
FakeTransactionStatementParser::parsecallsSessionTest::testApplyTransactionStatementDoesWhatTheStatementSayscallsSessionTest::testTransactionsAnswersWhatATransactionStatementIsAppliedTocallsTransactionStatementTest::testBeginStartsATransactionARollbackCanGoBackTocovers and callsTransactionStatementTest::testCommitKeepsEverythingTheTransactionDidcovers and callsTransactionStatementTest::testRollbackAppliesRollbackcovers and callsTransactionTargetTest::testRollBackIsWhatARollbackStatementAsksTheTargetForcalls
Calls 2
- new
selfline 53 - class-const TransactionOperation::Rollback() line 53
public static function savepoint(string $name): selfSavepoint.
Parameters
$name | string |
Returns
selfTest cases 6
FakeTransactionStatementParser::parsecallsTransactionStatementTest::testApplyDoesWhatEachOperationSayscovers and callsTransactionStatementTest::testReleaseCommitAppliesNamedTransactionLifecycleWithoutSqlcovers and callsTransactionStatementTest::testRollbackToGoesBackToTheSavepointAndLeavesItDeclaredcovers and callsTransactionStatementTest::testSavepointPreservesTheNamedTransactionBoundarycovers and callsTransactionTargetTest::testSavepointCarriesTheNameTheStatementNamedcalls
Calls 3
- new
selfline 64 - class-const TransactionOperation::Savepoint() line 64
- static-call TransactionStatement::requiredName() line 64
public static function rollbackTo(string $name): selfRollback to.
Parameters
$name | string |
Returns
selfTest cases 4
FakeTransactionStatementParser::parsecallsTransactionStatementTest::testReleaseCommitAppliesNamedTransactionLifecycleWithoutSqlcovers and callsTransactionStatementTest::testRollbackToGoesBackToTheSavepointAndLeavesItDeclaredcovers and callsTransactionTargetTest::testRollBackToCarriesTheNameTheStatementNamedcalls
Calls 3
- new
selfline 75 - class-const TransactionOperation::RollbackTo() line 75
- static-call TransactionStatement::requiredName() line 75
public static function release(string $name): selfRelease.
Parameters
$name | string |
Returns
selfTest cases 4
Calls 3
- new
selfline 86 - class-const TransactionOperation::Release() line 86
- static-call TransactionStatement::requiredName() line 86
public function apply(TransactionTarget $transactions): voidApplies.
Parameters
$transactions | TransactionTarget |
Test cases 7
TransactionStatementTest::testApplyDoesWhatEachOperationSayscoversTransactionStatementTest::testBeginStartsATransactionARollbackCanGoBackTocoversTransactionStatementTest::testCommitKeepsEverythingTheTransactionDidcoversTransactionStatementTest::testReleaseCommitAppliesNamedTransactionLifecycleWithoutSqlcoversTransactionStatementTest::testRollbackAppliesRollbackcoversTransactionStatementTest::testRollbackToGoesBackToTheSavepointAndLeavesItDeclaredcoversTransactionStatementTest::testSavepointPreservesTheNamedTransactionBoundarycovers
Called from 1
Calls 12
- class-const TransactionOperation::Begin() line 97
- method-call TransactionTarget::begin() line 97
- class-const TransactionOperation::Commit() line 98
- method-call TransactionTarget::commit() line 98
- class-const TransactionOperation::Rollback() line 99
- method-call TransactionTarget::rollBack() line 99
- class-const TransactionOperation::Savepoint() line 100
- method-call TransactionTarget::savepoint() line 100
- class-const TransactionOperation::RollbackTo() line 101
- method-call TransactionTarget::rollBackTo() line 101
- class-const TransactionOperation::Release() line 102
- method-call TransactionTarget::release() line 102
public static function requiredName(string $name): stringAnswers a savepoint name, refusing one the statement never gave.
Parameters
$name | string | Name the statement carried |
Returns
string The same name, once it is oneThrows
InvalidDefinitionException When the statement named no savepointTest cases 5
TransactionStatementTest::testApplyDoesWhatEachOperationSayscoversTransactionStatementTest::testReleaseCommitAppliesNamedTransactionLifecycleWithoutSqlcoversTransactionStatementTest::testRequiredNameAnswersTheNameTheStatementCarriedcovers and callsTransactionStatementTest::testRollbackToGoesBackToTheSavepointAndLeavesItDeclaredcoversTransactionStatementTest::testSavepointPreservesTheNamedTransactionBoundarycovers
Called from 3
- static-call ZtdQuery\Sql\TransactionStatement::savepoint() packages/ztd-query-core/src/Sql/TransactionStatement.php:64
- static-call ZtdQuery\Sql\TransactionStatement::rollbackTo() packages/ztd-query-core/src/Sql/TransactionStatement.php:75
- static-call ZtdQuery\Sql\TransactionStatement::release() packages/ztd-query-core/src/Sql/TransactionStatement.php:86
Calls 1
Private surface 2§
Implementation details, listed for orientation only.
private TransactionOperation $operationprivate string $savepointName = ''Test cases 20§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 8
TransactionStatementTest::testApplyDoesWhatEachOperationSayscovers and callsTransactionStatementTest::testBeginStartsATransactionARollbackCanGoBackTocovers and callsTransactionStatementTest::testCommitKeepsEverythingTheTransactionDidcovers and callsTransactionStatementTest::testReleaseCommitAppliesNamedTransactionLifecycleWithoutSqlcovers and callsTransactionStatementTest::testRequiredNameAnswersTheNameTheStatementCarriedcovers and callsTransactionStatementTest::testRollbackAppliesRollbackcovers and callsTransactionStatementTest::testRollbackToGoesBackToTheSavepointAndLeavesItDeclaredcovers and callsTransactionStatementTest::testSavepointPreservesTheNamedTransactionBoundarycovers and calls
Other tests reaching this symbol 12
ExceptionThrowingRewritercallsFakeSqlRewritercallsFakeTransactionStatementParser::parsecallsFixedRewritercallsSessionTest::testApplyTransactionStatementDoesWhatTheStatementSayscallsSessionTest::testTransactionsAnswersWhatATransactionStatementIsAppliedTocallsTransactionTargetTest::testBeginIsWhatABeginStatementAsksTheTargetForcallsTransactionTargetTest::testCommitIsWhatACommitStatementAsksTheTargetForcallsTransactionTargetTest::testReleaseCarriesTheNameTheStatementNamedcallsTransactionTargetTest::testRollBackIsWhatARollbackStatementAsksTheTargetForcallsTransactionTargetTest::testRollBackToCarriesTheNameTheStatementNamedcallsTransactionTargetTest::testSavepointCarriesTheNameTheStatementNamedcalls
Relations§
Method calls 1
Type declarations 4
- type ZtdQuery\Rewrite\SqlRewriter packages/ztd-query-core/src/Rewrite/SqlRewriter.php:30
- type ZtdQuery\Session packages/ztd-query-core/src/Session.php:216
- type ZtdQuery\Session packages/ztd-query-core/src/Session.php:228
- type ZtdQuery\Sql\TransactionStatementParser packages/ztd-query-core/src/Sql/TransactionStatementParser.php:21