classTableMutationResolver
final class TableMutationResolver
Restricted visibility: declared "@visibility ZtdQuery\Platform\MySql". Code outside that scope must not name this declaration.
Resolve MySQL CREATE, DROP, ALTER, and TRUNCATE into table mutations.
Methods§
public function __construct(
private TableDefinitionRegistry $registry,
private SchemaParser $schemaParser,
)Configure the dependencies used by this operation.
Parameters
$registry | TableDefinitionRegistry | |
$schemaParser | SchemaParser |
public function resolveCreateTable(CreateStatement $statement, string $sql): ShadowMutationParameters
$statement | CreateStatement | |
$sql | string |
Returns
Test cases 1
Called from 1
Calls 10
- new UnsupportedSqlException line 45
- method-call TableDefinitionRegistry::has() line 51
- new UnknownSchemaException line 58
- new CreateTableLikeMutation line 60
- method-call TableMutationResolver::extractSelectColumnNames() line 64
- new CreateTableAsSelectMutation line 65
- new ColumnDeclaration line 69
- class-const ColumnTypeFamily::STRING() line 69
- method-call SchemaParser::parse() line 74
- new CreateTableMutation line 75
public function resolveDropTable(DropStatement $statement, string $sql): ShadowMutationParameters
$statement | DropStatement | |
$sql | string |
Returns
Test cases 1
Called from 1
Calls 4
public function resolveAlterTable(AlterStatement $statement, string $sql): ShadowMutationResolve Alter Table for the supplied MySQL input.
Parameters
$statement | AlterStatement | |
$sql | string |
Returns
Test cases 1
Called from 1
Calls 4
public function extractSelectColumnNames(SelectStatement $selectStatement): list<string>Extract column names from a SELECT statement for CREATE TABLE AS SELECT.
Parameters
$selectStatement | SelectStatement |
Returns
list<string>Test cases 1
Called from 1
public function resolveTruncate(TruncateStatement $statement, string $sql): ShadowMutationResolve Truncate for the supplied MySQL input.
Parameters
$statement | TruncateStatement | |
$sql | string |
Returns
Throws
Test cases 1
Called from 1
Calls 2
Private surface 2§
Implementation details, listed for orientation only.
private TableDefinitionRegistry $registryprivate SchemaParser $schemaParserTest cases 9§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 5
Other tests reaching this symbol 4
MySqlSessionFactoryTestcallsMySqlRewriterTestcallsStatementRewriterTestcallsMySqlMutationResolverTestcalls
Relations§
Instantiated in 4
- new ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver::resolve() packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:78
- new ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver::resolve() packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:87
- new ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver::resolve() packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:90
- new ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver::resolve() packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:93
Method calls 4
- method-call ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver::resolve() packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:78
- method-call ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver::resolve() packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:87
- method-call ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver::resolve() packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:90
- method-call ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver::resolve() packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:93