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 |
public static function begin(): selfBegin.
Returns
selfTest cases 11
FakeTransactionStatementParser::parsecallsPgSqlRewriterTest::testTransactionStatementParsesShadowTransactionOperationscallsSessionTest::testApplyTransactionStatementDoesWhatTheStatementSayscallsSessionTest::testTransactionsAnswersWhatATransactionStatementIsAppliedTocallsTransactionStatementTest::testApplyDoesWhatEachOperationSayscallsTransactionStatementTest::testBeginStartsATransactionARollbackCanGoBackTocallsTransactionStatementTest::testCommitKeepsEverythingTheTransactionDidcallsTransactionStatementTest::testReleaseCommitAppliesNamedTransactionLifecycleWithoutSqlcallsTransactionStatementTest::testRollbackAppliesRollbackcallsTransactionStatementTest::testRollbackToGoesBackToTheSavepointAndLeavesItDeclaredcallsTransactionTargetTest::testBeginIsWhatABeginStatementAsksTheTargetForcalls
Called from 3
- static-call ZtdQuery\Platform\MySql\Sql\Transaction\MySqlTransactionStatementParser::parse() packages/ztd-query-mysql/src/Sql/Transaction/MySqlTransactionStatementParser.php:27
- static-call ZtdQuery\Platform\Postgres\Sql\Transaction\PgSqlTransactionStatementParser::parse() packages/ztd-query-postgres/src/Sql/Transaction/PgSqlTransactionStatementParser.php:27
- static-call ZtdQuery\Platform\Sqlite\Sql\Transaction\SqliteTransactionStatementParser::parse() packages/ztd-query-sqlite/src/Sql/Transaction/SqliteTransactionStatementParser.php:30
Calls 2
- new
selfline 33 - class-const TransactionOperation::Begin() line 33
public static function commit(): selfCommit.
Returns
selfTest cases 4
Called from 3
- static-call ZtdQuery\Platform\MySql\Sql\Transaction\MySqlTransactionStatementParser::parse() packages/ztd-query-mysql/src/Sql/Transaction/MySqlTransactionStatementParser.php:30
- static-call ZtdQuery\Platform\Postgres\Sql\Transaction\PgSqlTransactionStatementParser::parse() packages/ztd-query-postgres/src/Sql/Transaction/PgSqlTransactionStatementParser.php:30
- static-call ZtdQuery\Platform\Sqlite\Sql\Transaction\SqliteTransactionStatementParser::parse() packages/ztd-query-sqlite/src/Sql/Transaction/SqliteTransactionStatementParser.php:33
Calls 2
- new
selfline 43 - class-const TransactionOperation::Commit() line 43
public static function rollback(): selfRollback.
Returns
selfTest cases 7
FakeTransactionStatementParser::parsecallsSessionTest::testApplyTransactionStatementDoesWhatTheStatementSayscallsSessionTest::testTransactionsAnswersWhatATransactionStatementIsAppliedTocallsTransactionStatementTest::testBeginStartsATransactionARollbackCanGoBackTocallsTransactionStatementTest::testCommitKeepsEverythingTheTransactionDidcallsTransactionStatementTest::testRollbackAppliesRollbackcallsTransactionTargetTest::testRollBackIsWhatARollbackStatementAsksTheTargetForcalls
Called from 3
- static-call ZtdQuery\Platform\MySql\Sql\Transaction\MySqlTransactionStatementParser::parse() packages/ztd-query-mysql/src/Sql/Transaction/MySqlTransactionStatementParser.php:33
- static-call ZtdQuery\Platform\Postgres\Sql\Transaction\PgSqlTransactionStatementParser::parse() packages/ztd-query-postgres/src/Sql/Transaction/PgSqlTransactionStatementParser.php:33
- static-call ZtdQuery\Platform\Sqlite\Sql\Transaction\SqliteTransactionStatementParser::parse() packages/ztd-query-sqlite/src/Sql/Transaction/SqliteTransactionStatementParser.php:36
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::testApplyDoesWhatEachOperationSayscallsTransactionStatementTest::testReleaseCommitAppliesNamedTransactionLifecycleWithoutSqlcallsTransactionStatementTest::testRollbackToGoesBackToTheSavepointAndLeavesItDeclaredcallsTransactionStatementTest::testSavepointPreservesTheNamedTransactionBoundarycallsTransactionTargetTest::testSavepointCarriesTheNameTheStatementNamedcalls
Called from 4
- static-call ZtdQuery\Platform\MySql\Sql\Transaction\MySqlTransactionStatementParser::parse() packages/ztd-query-mysql/src/Sql/Transaction/MySqlTransactionStatementParser.php:37
- static-call ZtdQuery\Adapter\Mysqli\Session\ConnectionExecution::savepoint() packages/ztd-query-mysqli-adapter/src/Session/ConnectionExecution.php:220
- static-call ZtdQuery\Platform\Postgres\Sql\Transaction\PgSqlTransactionStatementParser::parse() packages/ztd-query-postgres/src/Sql/Transaction/PgSqlTransactionStatementParser.php:37
- static-call ZtdQuery\Platform\Sqlite\Sql\Transaction\SqliteTransactionStatementParser::parse() packages/ztd-query-sqlite/src/Sql/Transaction/SqliteTransactionStatementParser.php:40
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 5
FakeTransactionStatementParser::parsecallsTransactionStatementTest::testReleaseCommitAppliesNamedTransactionLifecycleWithoutSqlcallsTransactionStatementTest::testRollbackToGoesBackToTheSavepointAndLeavesItDeclaredcallsTransactionTargetTest::testRollBackToCarriesTheNameTheStatementNamedcallsZtdMysqliTest::testRelease_savepointRemovesTheNativeAndShadowSavepointscalls
Called from 3
- static-call ZtdQuery\Platform\MySql\Sql\Transaction\MySqlTransactionStatementParser::parse() packages/ztd-query-mysql/src/Sql/Transaction/MySqlTransactionStatementParser.php:41
- static-call ZtdQuery\Platform\Postgres\Sql\Transaction\PgSqlTransactionStatementParser::parse() packages/ztd-query-postgres/src/Sql/Transaction/PgSqlTransactionStatementParser.php:41
- static-call ZtdQuery\Platform\Sqlite\Sql\Transaction\SqliteTransactionStatementParser::parse() packages/ztd-query-sqlite/src/Sql/Transaction/SqliteTransactionStatementParser.php:44
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
Called from 4
- static-call ZtdQuery\Platform\MySql\Sql\Transaction\MySqlTransactionStatementParser::parse() packages/ztd-query-mysql/src/Sql/Transaction/MySqlTransactionStatementParser.php:45
- static-call ZtdQuery\Adapter\Mysqli\Session\ConnectionExecution::releaseSavepoint() packages/ztd-query-mysqli-adapter/src/Session/ConnectionExecution.php:207
- static-call ZtdQuery\Platform\Postgres\Sql\Transaction\PgSqlTransactionStatementParser::parse() packages/ztd-query-postgres/src/Sql/Transaction/PgSqlTransactionStatementParser.php:45
- static-call ZtdQuery\Platform\Sqlite\Sql\Transaction\SqliteTransactionStatementParser::parse() packages/ztd-query-sqlite/src/Sql/Transaction/SqliteTransactionStatementParser.php:48
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 |
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 savepointCalled 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 22§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 8
TransactionStatementTest::testApplyDoesWhatEachOperationSayscallsTransactionStatementTest::testBeginStartsATransactionARollbackCanGoBackTocallsTransactionStatementTest::testCommitKeepsEverythingTheTransactionDidcallsTransactionStatementTest::testReleaseCommitAppliesNamedTransactionLifecycleWithoutSqlcallsTransactionStatementTest::testRequiredNameAnswersTheNameTheStatementCarriedcallsTransactionStatementTest::testRollbackAppliesRollbackcallsTransactionStatementTest::testRollbackToGoesBackToTheSavepointAndLeavesItDeclaredcallsTransactionStatementTest::testSavepointPreservesTheNamedTransactionBoundarycalls
Other tests reaching this symbol 14
ExceptionThrowingRewritercallsFakeSqlRewritercallsFakeTransactionStatementParser::parsecallsFixedRewritercallsPgSqlRewriterTest::testTransactionStatementParsesShadowTransactionOperationscallsSessionTest::testApplyTransactionStatementDoesWhatTheStatementSayscallsSessionTest::testTransactionsAnswersWhatATransactionStatementIsAppliedTocallsTransactionTargetTest::testBeginIsWhatABeginStatementAsksTheTargetForcallsTransactionTargetTest::testCommitIsWhatACommitStatementAsksTheTargetForcallsTransactionTargetTest::testReleaseCarriesTheNameTheStatementNamedcallsTransactionTargetTest::testRollBackIsWhatARollbackStatementAsksTheTargetForcallsTransactionTargetTest::testRollBackToCarriesTheNameTheStatementNamedcallsTransactionTargetTest::testSavepointCarriesTheNameTheStatementNamedcallsZtdMysqliTest::testRelease_savepointRemovesTheNativeAndShadowSavepointscalls
Relations§
Static calls 20
- static-call ZtdQuery\Platform\MySql\Sql\Transaction\MySqlTransactionStatementParser::parse() packages/ztd-query-mysql/src/Sql/Transaction/MySqlTransactionStatementParser.php:27
- static-call ZtdQuery\Platform\MySql\Sql\Transaction\MySqlTransactionStatementParser::parse() packages/ztd-query-mysql/src/Sql/Transaction/MySqlTransactionStatementParser.php:30
- static-call ZtdQuery\Platform\MySql\Sql\Transaction\MySqlTransactionStatementParser::parse() packages/ztd-query-mysql/src/Sql/Transaction/MySqlTransactionStatementParser.php:33
- static-call ZtdQuery\Platform\MySql\Sql\Transaction\MySqlTransactionStatementParser::parse() packages/ztd-query-mysql/src/Sql/Transaction/MySqlTransactionStatementParser.php:37
- static-call ZtdQuery\Platform\MySql\Sql\Transaction\MySqlTransactionStatementParser::parse() packages/ztd-query-mysql/src/Sql/Transaction/MySqlTransactionStatementParser.php:41
- static-call ZtdQuery\Platform\MySql\Sql\Transaction\MySqlTransactionStatementParser::parse() packages/ztd-query-mysql/src/Sql/Transaction/MySqlTransactionStatementParser.php:45
- static-call ZtdQuery\Adapter\Mysqli\Session\ConnectionExecution::releaseSavepoint() packages/ztd-query-mysqli-adapter/src/Session/ConnectionExecution.php:207
- static-call ZtdQuery\Adapter\Mysqli\Session\ConnectionExecution::savepoint() packages/ztd-query-mysqli-adapter/src/Session/ConnectionExecution.php:220
- static-call ZtdQuery\Platform\Postgres\Sql\Transaction\PgSqlTransactionStatementParser::parse() packages/ztd-query-postgres/src/Sql/Transaction/PgSqlTransactionStatementParser.php:27
- static-call ZtdQuery\Platform\Postgres\Sql\Transaction\PgSqlTransactionStatementParser::parse() packages/ztd-query-postgres/src/Sql/Transaction/PgSqlTransactionStatementParser.php:30
- static-call ZtdQuery\Platform\Postgres\Sql\Transaction\PgSqlTransactionStatementParser::parse() packages/ztd-query-postgres/src/Sql/Transaction/PgSqlTransactionStatementParser.php:33
- static-call ZtdQuery\Platform\Postgres\Sql\Transaction\PgSqlTransactionStatementParser::parse() packages/ztd-query-postgres/src/Sql/Transaction/PgSqlTransactionStatementParser.php:37
- static-call ZtdQuery\Platform\Postgres\Sql\Transaction\PgSqlTransactionStatementParser::parse() packages/ztd-query-postgres/src/Sql/Transaction/PgSqlTransactionStatementParser.php:41
- static-call ZtdQuery\Platform\Postgres\Sql\Transaction\PgSqlTransactionStatementParser::parse() packages/ztd-query-postgres/src/Sql/Transaction/PgSqlTransactionStatementParser.php:45
- static-call ZtdQuery\Platform\Sqlite\Sql\Transaction\SqliteTransactionStatementParser::parse() packages/ztd-query-sqlite/src/Sql/Transaction/SqliteTransactionStatementParser.php:30
- static-call ZtdQuery\Platform\Sqlite\Sql\Transaction\SqliteTransactionStatementParser::parse() packages/ztd-query-sqlite/src/Sql/Transaction/SqliteTransactionStatementParser.php:33
- static-call ZtdQuery\Platform\Sqlite\Sql\Transaction\SqliteTransactionStatementParser::parse() packages/ztd-query-sqlite/src/Sql/Transaction/SqliteTransactionStatementParser.php:36
- static-call ZtdQuery\Platform\Sqlite\Sql\Transaction\SqliteTransactionStatementParser::parse() packages/ztd-query-sqlite/src/Sql/Transaction/SqliteTransactionStatementParser.php:40
- static-call ZtdQuery\Platform\Sqlite\Sql\Transaction\SqliteTransactionStatementParser::parse() packages/ztd-query-sqlite/src/Sql/Transaction/SqliteTransactionStatementParser.php:44
- static-call ZtdQuery\Platform\Sqlite\Sql\Transaction\SqliteTransactionStatementParser::parse() packages/ztd-query-sqlite/src/Sql/Transaction/SqliteTransactionStatementParser.php:48
Method calls 1
Type declarations 10
- 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
- type ZtdQuery\Platform\MySql\Rewrite\MySqlRewriter packages/ztd-query-mysql/src/Rewrite/MySqlRewriter.php:38
- type ZtdQuery\Platform\MySql\Sql\Transaction\MySqlTransactionStatementParser packages/ztd-query-mysql/src/Sql/Transaction/MySqlTransactionStatementParser.php:20
- type ZtdQuery\Platform\Postgres\Rewrite\PgSqlRewriter packages/ztd-query-postgres/src/Rewrite/PgSqlRewriter.php:57
- type ZtdQuery\Platform\Postgres\Sql\Transaction\PgSqlTransactionStatementParser packages/ztd-query-postgres/src/Sql/Transaction/PgSqlTransactionStatementParser.php:20
- type ZtdQuery\Platform\Sqlite\Rewrite\SqliteRewriter packages/ztd-query-sqlite/src/Rewrite/SqliteRewriter.php:51
- type ZtdQuery\Platform\Sqlite\Sql\Transaction\SqliteTransactionStatementParser packages/ztd-query-sqlite/src/Sql/Transaction/SqliteTransactionStatementParser.php:19