classMySqlMutationResolver
final class MySqlMutationResolver
Resolves the appropriate ShadowMutation for a given SQL statement.
This class depends on domain state (ShadowStore, TableDefinitionRegistry) to determine primary keys, column metadata, and table existence needed for mutation construction.
Methods§
public function __construct(
ShadowStore $shadowStore,
TableDefinitionRegistry $registry,
SchemaParser $schemaParser,
UpdateTransformer $updateTransformer,
DeleteTransformer $deleteTransformer,
)Configure the dependencies used by this operation.
Parameters
$shadowStore | ShadowStore | |
$registry | TableDefinitionRegistry | |
$schemaParser | SchemaParser | |
$updateTransformer | UpdateTransformer | |
$deleteTransformer | DeleteTransformer |
public function resolve(string $sql, Statement $statement, QueryKind $kind): ?ShadowMutationResolve mutation for a given statement.
Parameters
$sql | string | |
$statement | Statement | |
$kind | QueryKind |
Returns
Test cases 75
MySqlMutationResolverTest::testCreateTableIfNotExistsWhenExistscallsMySqlMutationResolverTest::testCreateTableLikeThrowsForUnknownSourcecallsMySqlMutationResolverTest::testCreateTableWithoutIfNotExistsThrowsWhenExistscallsMySqlMutationResolverTest::testDeleteEnsuresTableInShadowStorecallsMySqlMutationResolverTest::testDeleteUsesColumnsFromShadowStorecallsMySqlMutationResolverTest::testDropTableIfExistsWhenNotExistscallsMySqlMutationResolverTest::testDropTableWithoutIfExistsThrowsWhenNotExistscallsMySqlMutationResolverTest::testInsertIgnoreReturnsInsertMutationcallsMySqlMutationResolverTest::testInsertOnDuplicateKeyUpdateReturnsUpsertcallsMySqlMutationResolverTest::testInsertOnDuplicateKeyUpdateWithQualifiedColumncallsMySqlMutationResolverTest::testMultiDeleteEnsuresTablesInStorecallsMySqlMutationResolverTest::testMultiTableUpdateEnsuresTablesInStorecallsMySqlMutationResolverTest::testResolveAlterTableReturnsAlterTableMutationcallsMySqlMutationResolverTest::testResolveAlterTableThrowsForUnknownTablecallsMySqlMutationResolverTest::testResolveCreateTableAsSelectExtractsAliasedAndExprColumnscallsMySqlMutationResolverTest::testResolveCreateTableAsSelectExtractsColumnNamescallsMySqlMutationResolverTest::testResolveCreateTableAsSelectExtractsColumnsFromAliasedExprscallsMySqlMutationResolverTest::testResolveCreateTableAsSelectExtractsPlainColumnNamescallsMySqlMutationResolverTest::testResolveCreateTableAsSelectHandlesExpressionWithoutAliascallsMySqlMutationResolverTest::testResolveCreateTableAsSelectReturnsCreateTableAsSelectMutationcallsMySqlMutationResolverTest::testResolveCreateTableAsSelectWithColumnNamescallsMySqlMutationResolverTest::testResolveCreateTableIfNotExistsDoesNotThrowForExistingTablecallsMySqlMutationResolverTest::testResolveCreateTableIfNotExistsSkipsWhenExistscallsMySqlMutationResolverTest::testResolveCreateTableLikecallsMySqlMutationResolverTest::testResolveCreateTableLikeReturnsCreateTableLikeMutationcallsMySqlMutationResolverTest::testResolveCreateTableReturnsCreateTableMutationcallsMySqlMutationResolverTest::testResolveDeleteEnsuresTargetTableInStorecallsMySqlMutationResolverTest::testResolveDeleteMultiTableReturnsMultiDeleteMutationcallsMySqlMutationResolverTest::testResolveDeleteReturnsDeleteMutationcallsMySqlMutationResolverTest::testResolveDeleteThrowsWhenNoSchemaContextExistscallsMySqlMutationResolverTest::testResolveDeleteUsesColumnsFromRegistryWhenStoreEmptycallsMySqlMutationResolverTest::testResolveDeleteUsesColumnsFromShadowStoreFirstcallsMySqlMutationResolverTest::testResolveDeleteWithShadowDataButNoDefinitioncallsMySqlMutationResolverTest::testResolveDeleteWithSingleTargetReturnsPrimaryKeyscallsMySqlMutationResolverTest::testResolveDropTableIfExistsDoesNotThrowcallsMySqlMutationResolverTest::testResolveDropTableReturnsDropTableMutationcallsMySqlMutationResolverTest::testResolveDropTableWithIfExistsDoesNotThrowForMissingTablecallsMySqlMutationResolverTest::testResolveDropTableWithoutIfExistsThrowsForMissingTablecallsMySqlMutationResolverTest::testResolveInsertIgnoreIncludesPrimaryKeyscallsMySqlMutationResolverTest::testResolveInsertIgnoreProducesInsertMutationcallsMySqlMutationResolverTest::testResolveInsertIgnoreReturnsInsertMutationWithIgnorecallsMySqlMutationResolverTest::testResolveInsertIgnoreReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveInsertIgnoreWithoutDefinitionReturnEmptyPkscallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyExtractsQualifiedColumnNamecallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyExtractsUpdateColumnscallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyReturnsUpsertMutationcallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyWithBacktickedColumncallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyWithDottedColumncallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyWithoutRegisteredSchemacallsMySqlMutationResolverTest::testResolveInsertReturnsInsertMutationcallsMySqlMutationResolverTest::testResolveInsertWithOnDuplicateKeyReturnsUpsertMutationcallsMySqlMutationResolverTest::testResolveInsertWithQualifiedOnDuplicateKeycallsMySqlMutationResolverTest::testResolveMultiDeleteEnsuresAllTablesInStorecallsMySqlMutationResolverTest::testResolveMultiDeleteReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveMultiDeleteThrowsForUnknownTablecallsMySqlMutationResolverTest::testResolveMultiUpdateReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveMultiUpdateThrowsForUnknownTablecallsMySqlMutationResolverTest::testResolveReplaceReturnsPrimaryKeysFromRegistrycallsMySqlMutationResolverTest::testResolveReplaceReturnsReplaceMutationcallsMySqlMutationResolverTest::testResolveReplaceWithoutRegisteredSchemacallsMySqlMutationResolverTest::testResolveReturnsNullForUnhandledStatementcallsMySqlMutationResolverTest::testResolveRowAliasUpsertAppliesIncomingColumnscallsMySqlMutationResolverTest::testResolveSelectReturnsNullcallsMySqlMutationResolverTest::testResolveTruncateReturnsTruncateMutationcallsMySqlMutationResolverTest::testResolveUpdateMultiTableReturnsMultiUpdateMutationcallsMySqlMutationResolverTest::testResolveUpdateMultiTableReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveUpdateReturnsUpdateMutationcallsMySqlMutationResolverTest::testResolveUpdateThrowsWhenNoSchemaAvailablecallsMySqlMutationResolverTest::testResolveUpdateUsesColumnsFromRegistryWhenStoreEmptycallsMySqlMutationResolverTest::testResolveUpdateUsesColumnsFromShadowStoreFirstcallsMySqlMutationResolverTest::testResolveUpdateWithShadowDataButNoDefinitioncallsMySqlMutationResolverTest::testResolveUpsertReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testUpdateDoesNotTreatRowsFromUnknownInsertAsSchemacallsMySqlMutationResolverTest::testUpdateEnsuresTableInShadowStorecallsMySqlMutationResolverTest::testUpdateUsesColumnsFromStoreWhenAvailablecalls
Called from 2
Calls 11
- method-call RowMutationResolver::resolveUpdate() line 66
- new RowMutationResolver line 66
- method-call RowMutationResolver::resolveDelete() line 70
- method-call RowMutationResolver::resolveInsert() line 74
- method-call TableMutationResolver::resolveTruncate() line 78
- new TableMutationResolver line 78
- method-call RowMutationResolver::resolveReplace() line 82
- class-const QueryKind::DDL_SIMULATED() line 85
- method-call TableMutationResolver::resolveCreateTable() line 87
- method-call TableMutationResolver::resolveDropTable() line 90
- method-call TableMutationResolver::resolveAlterTable() line 93
Private surface 5§
Implementation details, listed for orientation only.
private ShadowStore $shadowStoreprivate TableDefinitionRegistry $registryprivate SchemaParser $schemaParserprivate UpdateTransformer $updateTransformerprivate DeleteTransformer $deleteTransformerTest cases 230§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 75
MySqlMutationResolverTest::testCreateTableIfNotExistsWhenExistscallsMySqlMutationResolverTest::testCreateTableLikeThrowsForUnknownSourcecallsMySqlMutationResolverTest::testCreateTableWithoutIfNotExistsThrowsWhenExistscallsMySqlMutationResolverTest::testDeleteEnsuresTableInShadowStorecallsMySqlMutationResolverTest::testDeleteUsesColumnsFromShadowStorecallsMySqlMutationResolverTest::testDropTableIfExistsWhenNotExistscallsMySqlMutationResolverTest::testDropTableWithoutIfExistsThrowsWhenNotExistscallsMySqlMutationResolverTest::testInsertIgnoreReturnsInsertMutationcallsMySqlMutationResolverTest::testInsertOnDuplicateKeyUpdateReturnsUpsertcallsMySqlMutationResolverTest::testInsertOnDuplicateKeyUpdateWithQualifiedColumncallsMySqlMutationResolverTest::testMultiDeleteEnsuresTablesInStorecallsMySqlMutationResolverTest::testMultiTableUpdateEnsuresTablesInStorecallsMySqlMutationResolverTest::testResolveAlterTableReturnsAlterTableMutationcallsMySqlMutationResolverTest::testResolveAlterTableThrowsForUnknownTablecallsMySqlMutationResolverTest::testResolveCreateTableAsSelectExtractsAliasedAndExprColumnscallsMySqlMutationResolverTest::testResolveCreateTableAsSelectExtractsColumnNamescallsMySqlMutationResolverTest::testResolveCreateTableAsSelectExtractsColumnsFromAliasedExprscallsMySqlMutationResolverTest::testResolveCreateTableAsSelectExtractsPlainColumnNamescallsMySqlMutationResolverTest::testResolveCreateTableAsSelectHandlesExpressionWithoutAliascallsMySqlMutationResolverTest::testResolveCreateTableAsSelectReturnsCreateTableAsSelectMutationcallsMySqlMutationResolverTest::testResolveCreateTableAsSelectWithColumnNamescallsMySqlMutationResolverTest::testResolveCreateTableIfNotExistsDoesNotThrowForExistingTablecallsMySqlMutationResolverTest::testResolveCreateTableIfNotExistsSkipsWhenExistscallsMySqlMutationResolverTest::testResolveCreateTableLikecallsMySqlMutationResolverTest::testResolveCreateTableLikeReturnsCreateTableLikeMutationcallsMySqlMutationResolverTest::testResolveCreateTableReturnsCreateTableMutationcallsMySqlMutationResolverTest::testResolveDeleteEnsuresTargetTableInStorecallsMySqlMutationResolverTest::testResolveDeleteMultiTableReturnsMultiDeleteMutationcallsMySqlMutationResolverTest::testResolveDeleteReturnsDeleteMutationcallsMySqlMutationResolverTest::testResolveDeleteThrowsWhenNoSchemaContextExistscallsMySqlMutationResolverTest::testResolveDeleteUsesColumnsFromRegistryWhenStoreEmptycallsMySqlMutationResolverTest::testResolveDeleteUsesColumnsFromShadowStoreFirstcallsMySqlMutationResolverTest::testResolveDeleteWithShadowDataButNoDefinitioncallsMySqlMutationResolverTest::testResolveDeleteWithSingleTargetReturnsPrimaryKeyscallsMySqlMutationResolverTest::testResolveDropTableIfExistsDoesNotThrowcallsMySqlMutationResolverTest::testResolveDropTableReturnsDropTableMutationcallsMySqlMutationResolverTest::testResolveDropTableWithIfExistsDoesNotThrowForMissingTablecallsMySqlMutationResolverTest::testResolveDropTableWithoutIfExistsThrowsForMissingTablecallsMySqlMutationResolverTest::testResolveInsertIgnoreIncludesPrimaryKeyscallsMySqlMutationResolverTest::testResolveInsertIgnoreProducesInsertMutationcallsMySqlMutationResolverTest::testResolveInsertIgnoreReturnsInsertMutationWithIgnorecallsMySqlMutationResolverTest::testResolveInsertIgnoreReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveInsertIgnoreWithoutDefinitionReturnEmptyPkscallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyExtractsQualifiedColumnNamecallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyExtractsUpdateColumnscallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyReturnsUpsertMutationcallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyWithBacktickedColumncallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyWithDottedColumncallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyWithoutRegisteredSchemacallsMySqlMutationResolverTest::testResolveInsertReturnsInsertMutationcallsMySqlMutationResolverTest::testResolveInsertWithOnDuplicateKeyReturnsUpsertMutationcallsMySqlMutationResolverTest::testResolveInsertWithQualifiedOnDuplicateKeycallsMySqlMutationResolverTest::testResolveMultiDeleteEnsuresAllTablesInStorecallsMySqlMutationResolverTest::testResolveMultiDeleteReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveMultiDeleteThrowsForUnknownTablecallsMySqlMutationResolverTest::testResolveMultiUpdateReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveMultiUpdateThrowsForUnknownTablecallsMySqlMutationResolverTest::testResolveReplaceReturnsPrimaryKeysFromRegistrycallsMySqlMutationResolverTest::testResolveReplaceReturnsReplaceMutationcallsMySqlMutationResolverTest::testResolveReplaceWithoutRegisteredSchemacallsMySqlMutationResolverTest::testResolveReturnsNullForUnhandledStatementcallsMySqlMutationResolverTest::testResolveRowAliasUpsertAppliesIncomingColumnscallsMySqlMutationResolverTest::testResolveSelectReturnsNullcallsMySqlMutationResolverTest::testResolveTruncateReturnsTruncateMutationcallsMySqlMutationResolverTest::testResolveUpdateMultiTableReturnsMultiUpdateMutationcallsMySqlMutationResolverTest::testResolveUpdateMultiTableReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveUpdateReturnsUpdateMutationcallsMySqlMutationResolverTest::testResolveUpdateThrowsWhenNoSchemaAvailablecallsMySqlMutationResolverTest::testResolveUpdateUsesColumnsFromRegistryWhenStoreEmptycallsMySqlMutationResolverTest::testResolveUpdateUsesColumnsFromShadowStoreFirstcallsMySqlMutationResolverTest::testResolveUpdateWithShadowDataButNoDefinitioncallsMySqlMutationResolverTest::testResolveUpsertReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testUpdateDoesNotTreatRowsFromUnknownInsertAsSchemacallsMySqlMutationResolverTest::testUpdateEnsuresTableInShadowStorecallsMySqlMutationResolverTest::testUpdateUsesColumnsFromStoreWhenAvailablecalls
Other tests reaching this symbol 155
RewriterBench::setUpcallsRewriteTarget::__invokecallsRobustnessTarget::__invokecallsMySqlSessionFactoryTestcallsMySqlRewriterTest::testAlterNonExistentTableThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testAlterTableAddColumnModifiesSchemacallsMySqlRewriterTest::testAlterTableChangeColumnRenamesColumncallsMySqlRewriterTest::testAlterTableDropColumnModifiesSchemacallsMySqlRewriterTest::testAlterTableModifyColumnModifiesSchemacallsMySqlRewriterTest::testAlterTableRenameRenamesTablecallsMySqlRewriterTest::testBuildTableContextColumnsFromStoreRowKeyscallsMySqlRewriterTest::testBuildTableContextIncludesRegistryDefinitionsNotInStorecallsMySqlRewriterTest::testBuildTableContextMergesShadowDataAndRegistryDefinitionscallsMySqlRewriterTest::testCommitRewriteStatecallsMySqlRewriterTest::testCompositeReadAllowsTablesWithoutSchemaContextcallsMySqlRewriterTest::testCompositeReadRejectsSelectIntocallsMySqlRewriterTest::testCompositeReadRejectsUnknownTableWithSchemaContextcallsMySqlRewriterTest::testCreateTableAsSelectCreatesTableWithDatacallsMySqlRewriterTest::testCreateTableIfNotExistsSkipsExistingTablecallsMySqlRewriterTest::testCreateTableLikeCopiesSchemacallsMySqlRewriterTest::testCreateTableLikeWithUnknownSourceThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testCreateTableMutationRegistersSchemacallsMySqlRewriterTest::testCreateTableReturnsDdlSimulatedcallsMySqlRewriterTest::testCreateTemporaryTableRegistersSchemacallsMySqlRewriterTest::testCteReferencesAreMatchedCaseInsensitivelyDuringSchemaValidationcallsMySqlRewriterTest::testDatabaseQualifiedSelectUsesShadowCtecallsMySqlRewriterTest::testDeleteReturnsWriteSimulatedWithMutationcallsMySqlRewriterTest::testDerivedTableKeepsNestedPhysicalRelationInShadowScopecallsMySqlRewriterTest::testDescribePassesThroughUnchangedcallsMySqlRewriterTest::testDropNonExistentTableThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testDropTableIfExistsSkipsNonExistentTablecallsMySqlRewriterTest::testDropTableMutationUnregistersSchemacallsMySqlRewriterTest::testDropTableReturnsDdlSimulatedcallsMySqlRewriterTest::testEmptyInputThrowsExceptioncallsMySqlRewriterTest::testEmptyResultSelectcallsMySqlRewriterTest::testExplainPassesThroughUnchangedcallsMySqlRewriterTest::testGeneratedExpressionIsPresentBeforeTheFirstShadowWritecallsMySqlRewriterTest::testHashCommentDoesNotCreateAPhantomSelectSourcecallsMySqlRewriterTest::testInsertReturnsWriteSimulatedWithMutationcallsMySqlRewriterTest::testInsertRewriteOutputContainsSelectcallsMySqlRewriterTest::testPartitionSelectionUsesDefinitionWithoutMaterializedRowscallsMySqlRewriterTest::testPartitionSelectionUsesRegisteredPartitionMetadatacallsMySqlRewriterTest::testReadPlanHasNoMutationcallsMySqlRewriterTest::testRegisteredViewIsKnownAndMaterializedcallsMySqlRewriterTest::testReplaceMutationInsertsNewRowcallsMySqlRewriterTest::testReplaceMutationReplacesExistingRowcallsMySqlRewriterTest::testReplaceWithEmptyValuesThrowsExceptioncallsMySqlRewriterTest::testReplaceWithMismatchedColumnCountThrowsExceptioncallsMySqlRewriterTest::testRewriteAlterTableAddColumnCreatesMutationcallsMySqlRewriterTest::testRewriteAlterTableAddConstraintThrowscallsMySqlRewriterTest::testRewriteAlterTableAddFulltextIndexThrowscallsMySqlRewriterTest::testRewriteAlterTableAddIndexThrowscallsMySqlRewriterTest::testRewriteAlterTableAddIndexThrowsUnsupportedcallsMySqlRewriterTest::testRewriteAlterTableAddKeyThrowscallsMySqlRewriterTest::testRewriteAlterTableAddPartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableAddSpatialIndexThrowscallsMySqlRewriterTest::testRewriteAlterTableAnalyzePartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableCheckPartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableCoalescePartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableConvertToCharsetThrowscallsMySqlRewriterTest::testRewriteAlterTableConvertToThrowscallsMySqlRewriterTest::testRewriteAlterTableDropConstraintThrowscallsMySqlRewriterTest::testRewriteAlterTableDropIndexThrowscallsMySqlRewriterTest::testRewriteAlterTableDropIndexThrowsUnsupportedcallsMySqlRewriterTest::testRewriteAlterTableDropKeyThrowscallsMySqlRewriterTest::testRewriteAlterTableDropPartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableEngineThrowscallsMySqlRewriterTest::testRewriteAlterTableOptimizePartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableOrderByThrowscallsMySqlRewriterTest::testRewriteAlterTableOrderByThrowsUnsupportedcallsMySqlRewriterTest::testRewriteAlterTableRebuildPartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableRenameIndexThrowscallsMySqlRewriterTest::testRewriteAlterTableRenameIndexThrowsUnsupportedcallsMySqlRewriterTest::testRewriteAlterTableRenameKeyThrowscallsMySqlRewriterTest::testRewriteAlterTableRepairPartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableSetDefaultThrowscallsMySqlRewriterTest::testRewriteAlterTableWithDropDefaultThrowscallsMySqlRewriterTest::testRewriteAlterTableWithOrderByThrowscallsMySqlRewriterTest::testRewriteAlterTableWithUnsupportedSetDefaultThrowscallsMySqlRewriterTest::testRewriteBuildTableContextMergesExtraColumnKeysFromRowscallsMySqlRewriterTest::testRewriteBuildTableContextWithDefinitionButNoRowscallsMySqlRewriterTest::testRewriteBuildTableContextWithRowsButNoDefinitioncallsMySqlRewriterTest::testRewriteCreateTableAsSelectCreatesMutationcallsMySqlRewriterTest::testRewriteCreateTableAsSelectTransformsCtecallsMySqlRewriterTest::testRewriteCreateTableAsSelectTransformsSelectPartcallsMySqlRewriterTest::testRewriteCreateTableCreatesMutationcallsMySqlRewriterTest::testRewriteCreateTableLikeCreatesMutationcallsMySqlRewriterTest::testRewriteCreateTableThatAlreadyExistsThrowscallsMySqlRewriterTest::testRewriteCreateTemporaryTableCreatesMutationcallsMySqlRewriterTest::testRewriteDeleteCreatesMutationcallsMySqlRewriterTest::testRewriteDeleteEnsuresDmlTableInShadowStorecallsMySqlRewriterTest::testRewriteDeleteEnsuresDmlTablesArePresentInStorecallsMySqlRewriterTest::testRewriteDropTableCreatesMutationcallsMySqlRewriterTest::testRewriteEmptySqlThrowscallsMySqlRewriterTest::testRewriteEmptyStatementThrowscallsMySqlRewriterTest::testRewriteForbiddenStatementThrowsExceptioncallsMySqlRewriterTest::testRewriteInsertCreatesMutationcallsMySqlRewriterTest::testRewriteInsertIgnoreCreatesInsertMutationWithIgnorecallsMySqlRewriterTest::testRewriteInsertUsesDefaultsFromRegistryWithoutShadowRowscallsMySqlRewriterTest::testRewriteInsertUsesIdentityStrategyFromRegistryWithoutShadowRowscallsMySqlRewriterTest::testRewriteInsertWithOnDuplicateKeyUpdateCreatesUpsertMutationcallsMySqlRewriterTest::testRewriteIsDeterministiccallsMySqlRewriterTest::testRewriteMultipleEmptySqlThrowscallsMySqlRewriterTest::testRewriteMultipleProcessesEachStatementcallsMySqlRewriterTest::testRewriteMultipleStatementscallsMySqlRewriterTest::testRewriteMultipleStatementsThrowsExceptioncallsMySqlRewriterTest::testRewriteMultipleUsesLexicalStatementBoundariescallsMySqlRewriterTest::testRewriteMultipleWithForbiddenStatementThrowsExceptioncallsMySqlRewriterTest::testRewriteOutputIsNonEmptycallsMySqlRewriterTest::testRewriteReadAddsCtecallsMySqlRewriterTest::testRewriteReadWithRegistryButNoShadowStoreDataAddsCtesForKnownTablescallsMySqlRewriterTest::testRewriteReplaceCreatesMutationcallsMySqlRewriterTest::testRewriteReplaceWithColumnsDefinedcallsMySqlRewriterTest::testRewriteReplaceWithColumnsExplicitDoesNotThrowcallsMySqlRewriterTest::testRewriteReplaceWithColumnsSpecifiedDoesNotThrowcallsMySqlRewriterTest::testRewriteReplaceWithColumnsSucceedscallsMySqlRewriterTest::testRewriteReplaceWithNoColumnsAndNoStoreOrRegistryThrowscallsMySqlRewriterTest::testRewriteReplaceWithoutColumnsButWithDefinitionSucceedscallsMySqlRewriterTest::testRewriteReplaceWithoutColumnsButWithShadowDataSucceedscallsMySqlRewriterTest::testRewriteReplaceWithoutColumnsOrContextThrowscallsMySqlRewriterTest::testRewriteReplaceWithoutColumnsThrowsWhenNoContextcallsMySqlRewriterTest::testRewriteReplaceWithStoreContextDoesNotThrowcallsMySqlRewriterTest::testRewriteReplaceWithStoreDataDoesNotThrowcallsMySqlRewriterTest::testRewriteSelectNoSchemaContextDoesNotCheckUnknownTablescallsMySqlRewriterTest::testRewriteSelectNoSchemaContextDoesNotThrowcallsMySqlRewriterTest::testRewriteSelectWithJoinAndUnknownTableThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testRewriteSelectWithJoinDetectsUnknownJoinTablecallsMySqlRewriterTest::testRewriteSelectWithJoinedUnknownTableThrowscallsMySqlRewriterTest::testRewriteSelectWithNoSchemaContextDoesNotThrowcallsMySqlRewriterTest::testRewriteSelectWithUnknownJoinTableThrowsWhenSchemaContextExistscallsMySqlRewriterTest::testRewriteSelectWithUnknownTableThrowscallsMySqlRewriterTest::testRewriteSelectWithUnknownTableThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testRewriteSelectWithUnknownTableThrowsWhenSchemaContextExistscallsMySqlRewriterTest::testRewriteSingleStatementStillWorkscallsMySqlRewriterTest::testRewritesSingleSetExpressionsWithoutTreatingThemAsMultipleStatementscallsMySqlRewriterTest::testRewriteTruncateCreatesMutationcallsMySqlRewriterTest::testRewriteTruncateReturnsFalseSelectcallsMySqlRewriterTest::testRewriteUpdateCreatesMutationcallsMySqlRewriterTest::testRewriteUpdateEnsuresDmlTableInShadowStorecallsMySqlRewriterTest::testRewriteUpsertUsesCandidateKeysForStoredTableContextcallsMySqlRewriterTest::testRewriteWithStatementDeleteIgnoresHashCommentsAroundItsCteHeadercallsMySqlRewriterTest::testRewriteWithStatementInsertResolvesItsInnerMutationcallsMySqlRewriterTest::testRewriteWithStatementSelectUsesClassifycallsMySqlRewriterTest::testSelectReturnsReadKindcallsMySqlRewriterTest::testShowCreateTablePassesThroughUnchangedcallsMySqlRewriterTest::testSplitStatementscallsMySqlRewriterTest::testTransactionStatementcallsMySqlRewriterTest::testTruncateMutationClearsTablecallsMySqlRewriterTest::testUnknownTableAfterDeclaredCteIsRejectedcallsMySqlRewriterTest::testUnsupportedSqlThrowsExceptioncallsMySqlRewriterTest::testUpdateDoesNotPromoteMaterializedUnknownTablecallsMySqlRewriterTest::testUpdateReturnsWriteSimulatedWithMutationcallsMySqlRewriterTest::testWritePlanHasNonNullMutationcallsStatementRewriterTest::testMutationStatementcallsStatementRewriterTest::testRewriteStatementcalls
Relations§
Instantiated in 1
Method calls 2
Type declarations 3
- type ZtdQuery\Platform\MySql\Rewrite\MySqlRewriter packages/ztd-query-mysql/src/Rewrite/MySqlRewriter.php:47
- type ZtdQuery\Platform\MySql\Rewrite\MySqlRewriter packages/ztd-query-mysql/src/Rewrite/MySqlRewriter.php:60
- type ZtdQuery\Platform\MySql\Rewrite\StatementRewriter packages/ztd-query-mysql/src/Rewrite/StatementRewriter.php:35