enumReferentialAction
enum ReferentialAction: string
What a foreign key says should happen when the row it points at moves.
Only CASCADE and SET NULL let the statement stand; the rest say the parent was not free to move, so the statement is refused.
Cases§
case NoAction = 'NO ACTION'case Restrict = 'RESTRICT'case Cascade = 'CASCADE'case SetNull = 'SET NULL'case SetDefault = 'SET DEFAULT'Test cases 64§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 1
Other tests reaching this symbol 63
DefinitionEntryTest::testActioncallsDefinitionEntryTest::testParseEntrycallsDefinitionReaderTest::testActionCase1callsDefinitionReaderTest::testActionCase2callsDefinitionReaderTest::testActionCase3callsDefinitionReaderTest::testActionCase4callsDefinitionReaderTest::testActionCase5callsDefinitionReaderTest::testParseEntrycallsForeignKeyDefinitionTest::testCarriesCompositeReferenceAndActionscallsForeignKeyEntryParserTest::testActionDistinguishesSupportedReferentialActionscallsForeignKeyEntryParserTest::testParseEntryReadsNamedConstraintAndActionscallsMySqlForeignKeyDefinitionParserTest::testMalformedActionsRemainNoActionWithoutTokenLookaheadFailurescallsMySqlForeignKeyDefinitionParserTest::testNestedActionTokensCannotOverrideTopLevelActioncallsMySqlForeignKeyDefinitionParserTest::testParseCreateTableParsesNamedCompositeConstraintWithoutRegexSubstitutioncallsMySqlForeignKeyDefinitionParserTest::testParsesEveryActionAndAssignsSequentialSyntheticNamescallsMySqlForeignKeyDefinitionParserTest::testParsesInlineAndMySqlQuotedReferencescallsMySqlForeignKeyDefinitionParserTest::testUsesReferencedPrimaryKeyWhenColumnListIsOmittedcallsPgSqlForeignKeyDefinitionParserTest::testMalformedActionsRemainNoActionWithoutTokenLookaheadFailurescallsPgSqlForeignKeyDefinitionParserTest::testNestedActionTokensCannotOverrideTopLevelActioncallsPgSqlForeignKeyDefinitionParserTest::testParseCreateTableParsesNamedCompositeConstraintWithoutRegexSubstitutioncallsPgSqlForeignKeyDefinitionParserTest::testParsesEveryActionAndAssignsSequentialSyntheticNamescallsPgSqlForeignKeyDefinitionParserTest::testParsesInlineAndPostgreSqlQuotedReferencescallsPgSqlForeignKeyDefinitionParserTest::testUsesReferencedPrimaryKeyWhenColumnListIsOmittedcallsSqliteForeignKeyDefinitionParserTest::testMalformedActionsRemainNoActionWithoutTokenLookaheadFailurescallsSqliteForeignKeyDefinitionParserTest::testNestedActionTokensCannotOverrideTopLevelActioncallsSqliteForeignKeyDefinitionParserTest::testParseCreateTableParsesNamedCompositeConstraintWithoutRegexSubstitutioncallsSqliteForeignKeyDefinitionParserTest::testParsesEveryActionAndAssignsSequentialSyntheticNamescallsSqliteForeignKeyDefinitionParserTest::testParsesInlineAndSqliteQuotedReferencescallsSqliteForeignKeyDefinitionParserTest::testUsesReferencedPrimaryKeyWhenColumnListIsOmittedcallsForeignKeyCascadeTest::testApplyActionCarriesTheNewValueWhereTheActionSaysToCascadecallsForeignKeyCascadeTest::testApplyActionRefusesTheStatementWhereTheActionForbidsItcallsForeignKeyCascadeTest::testApplyActionSetsTheKeyToNullWhereTheActionSaysTocallsForeignKeyCascadeTest::testCarryDeleteDropsEveryChildThatWasHoldingTheKeyWhereTheActionCascadescallsForeignKeyCascadeTest::testCarryDeleteSetsTheKeyToNullWhereTheActionSaysToRatherThanDroppingTheRowcallsForeignKeyCascadeTest::testCarryUpdateWritesTheNewKeyIntoEveryChildThatWasHoldingTheOldOnecallsForeignKeyCascadeTest::testOfCarriesTheNewKeyToTheChildrenOfAnUpdatedParentcallsForeignKeyCascadeTest::testOfDeletesTheChildrenOfADeletedParentWhereTheActionSaysToCascadecallsForeignKeyCascadeTest::testOfFollowsNothingThroughAKeyWhoseEndsDisagreecallsForeignKeyCascadeTest::testOfLeavesTheChildrenAloneWhileAnotherParentRowHoldsTheKeyUpcallsDataMutationTest::testAMutationThatChangesNoRowsCarriesNothingToTheChildrencallsDataMutationTest::testAMutationThatChangesRowsCarriesItsConsequencesToTheChildrencallsColumnDefinitionEditorTest::testRenamedForeignKeyPreservesReferencedRelationAndActionscallsRenameResolverTest::testDefinitionWithRenamedColumnUpdatesKeyAndValueMapscallsReferentialIntegrityEnforcerTest::testCascadeNormalizesSparseChildRowIndexescallsReferentialIntegrityEnforcerTest::testCompositeDeleteSetNullNormalizesEveryForeignKeyColumncallsReferentialIntegrityEnforcerTest::testCompositePrimaryKeyUpdateCascadesOnlyMatchingChildrencallsReferentialIntegrityEnforcerTest::testDeleteCascadePropagatesAcrossMultipleLevelscallsReferentialIntegrityEnforcerTest::testDeleteCascadeRemovesAllMatchingChildrenAndKeepsOtherscallsReferentialIntegrityEnforcerTest::testDeleteRestrictRejectsParentRemovalcallsReferentialIntegrityEnforcerTest::testDeleteSetNullCarriesOriginalRowIntoNextLevelcallsReferentialIntegrityEnforcerTest::testDeleteSetNullUpdatesChildcallsReferentialIntegrityEnforcerTest::testEmptySelfReferentialCascadeTerminatesWithoutSyntheticEventscallsReferentialIntegrityEnforcerTest::testFallbackContinuesAfterIdentityMatchedRowcallsReferentialIntegrityEnforcerTest::testFallbackTransitionPropagatesUpdateAndDeleteFromOneTablecallsReferentialIntegrityEnforcerTest::testIdentityTransitionSkipsIncompleteChangeAndProcessesFollowingChangecallsReferentialIntegrityEnforcerTest::testMatchingConstraintAfterUnrelatedConstraintStillCascadescallsReferentialIntegrityEnforcerTest::testMissingReferencedValuesDoNotStopLaterUpdateOrDeleteCascadescallsReferentialIntegrityEnforcerTest::testMultiTruncateCascadesFromEveryChangedParentTablecallsReferentialIntegrityEnforcerTest::testPrimaryKeyUpdateCascadesThroughOriginalRowIdentitycallsReferentialIntegrityEnforcerTest::testRetainedOldKeyDoesNotStopFollowingUpdateCascadecallsReferentialIntegrityEnforcerTest::testSynchronizeCascadesDeletedRowscallsReferentialIntegrityEnforcerTest::testUpdateCascadeCarriesOriginalRowIntoNextLevelcallsReferentialIntegrityEnforcerTest::testUpdateDoesNotCascadeWhileOldParentKeyStillExistscalls
Relations§
Constant reads 33
- class-const ZtdQuery\Schema\Key\ForeignKeyDefinition::__construct() packages/ztd-query-core/src/Schema/Key/ForeignKeyDefinition.php:20
- class-const ZtdQuery\Schema\Key\ForeignKeyDefinition::__construct() packages/ztd-query-core/src/Schema/Key/ForeignKeyDefinition.php:21
- class-const ZtdQuery\Shadow\ForeignKeyCascade::carryDelete() packages/ztd-query-core/src/Shadow/ForeignKeyCascade.php:159
- class-const ZtdQuery\Shadow\ForeignKeyCascade::applyAction() packages/ztd-query-core/src/Shadow/ForeignKeyCascade.php:190
- class-const ZtdQuery\Shadow\ForeignKeyCascade::applyAction() packages/ztd-query-core/src/Shadow/ForeignKeyCascade.php:190
- class-const ZtdQuery\Shadow\ForeignKeyCascade::applyAction() packages/ztd-query-core/src/Shadow/ForeignKeyCascade.php:201
- class-const ZtdQuery\Platform\MySql\Schema\Key\DefinitionReader::action() packages/ztd-query-mysql/src/Schema/Key/DefinitionReader.php:206
- class-const ZtdQuery\Platform\MySql\Schema\Key\DefinitionReader::action() packages/ztd-query-mysql/src/Schema/Key/DefinitionReader.php:209
- class-const ZtdQuery\Platform\MySql\Schema\Key\DefinitionReader::action() packages/ztd-query-mysql/src/Schema/Key/DefinitionReader.php:212
- class-const ZtdQuery\Platform\MySql\Schema\Key\DefinitionReader::action() packages/ztd-query-mysql/src/Schema/Key/DefinitionReader.php:215
- class-const ZtdQuery\Platform\MySql\Schema\Key\DefinitionReader::action() packages/ztd-query-mysql/src/Schema/Key/DefinitionReader.php:220
- class-const ZtdQuery\Platform\MySql\Schema\Key\DefinitionReader::action() packages/ztd-query-mysql/src/Schema/Key/DefinitionReader.php:223
- class-const ZtdQuery\Platform\MySql\Schema\Key\DefinitionReader::action() packages/ztd-query-mysql/src/Schema/Key/DefinitionReader.php:226
- class-const ZtdQuery\Platform\MySql\Schema\Key\DefinitionReader::action() packages/ztd-query-mysql/src/Schema/Key/DefinitionReader.php:229
- class-const ZtdQuery\Platform\MySql\Schema\Key\DefinitionReader::action() packages/ztd-query-mysql/src/Schema/Key/DefinitionReader.php:232
- class-const ZtdQuery\Platform\Postgres\Schema\Key\DefinitionEntry::action() packages/ztd-query-postgres/src/Schema/Key/DefinitionEntry.php:168
- class-const ZtdQuery\Platform\Postgres\Schema\Key\DefinitionEntry::action() packages/ztd-query-postgres/src/Schema/Key/DefinitionEntry.php:171
- class-const ZtdQuery\Platform\Postgres\Schema\Key\DefinitionEntry::action() packages/ztd-query-postgres/src/Schema/Key/DefinitionEntry.php:174
- class-const ZtdQuery\Platform\Postgres\Schema\Key\DefinitionEntry::action() packages/ztd-query-postgres/src/Schema/Key/DefinitionEntry.php:177
- class-const ZtdQuery\Platform\Postgres\Schema\Key\DefinitionEntry::action() packages/ztd-query-postgres/src/Schema/Key/DefinitionEntry.php:182
- class-const ZtdQuery\Platform\Postgres\Schema\Key\DefinitionEntry::action() packages/ztd-query-postgres/src/Schema/Key/DefinitionEntry.php:185
- class-const ZtdQuery\Platform\Postgres\Schema\Key\DefinitionEntry::action() packages/ztd-query-postgres/src/Schema/Key/DefinitionEntry.php:188
- class-const ZtdQuery\Platform\Postgres\Schema\Key\DefinitionEntry::action() packages/ztd-query-postgres/src/Schema/Key/DefinitionEntry.php:191
- class-const ZtdQuery\Platform\Postgres\Schema\Key\DefinitionEntry::action() packages/ztd-query-postgres/src/Schema/Key/DefinitionEntry.php:194
- class-const ZtdQuery\Platform\Sqlite\Schema\Key\ForeignKeyEntryParser::action() packages/ztd-query-sqlite/src/Schema/Key/ForeignKeyEntryParser.php:168
- class-const ZtdQuery\Platform\Sqlite\Schema\Key\ForeignKeyEntryParser::action() packages/ztd-query-sqlite/src/Schema/Key/ForeignKeyEntryParser.php:171
- class-const ZtdQuery\Platform\Sqlite\Schema\Key\ForeignKeyEntryParser::action() packages/ztd-query-sqlite/src/Schema/Key/ForeignKeyEntryParser.php:174
- class-const ZtdQuery\Platform\Sqlite\Schema\Key\ForeignKeyEntryParser::action() packages/ztd-query-sqlite/src/Schema/Key/ForeignKeyEntryParser.php:177
- class-const ZtdQuery\Platform\Sqlite\Schema\Key\ForeignKeyEntryParser::action() packages/ztd-query-sqlite/src/Schema/Key/ForeignKeyEntryParser.php:182
- class-const ZtdQuery\Platform\Sqlite\Schema\Key\ForeignKeyEntryParser::action() packages/ztd-query-sqlite/src/Schema/Key/ForeignKeyEntryParser.php:185
- class-const ZtdQuery\Platform\Sqlite\Schema\Key\ForeignKeyEntryParser::action() packages/ztd-query-sqlite/src/Schema/Key/ForeignKeyEntryParser.php:188
- class-const ZtdQuery\Platform\Sqlite\Schema\Key\ForeignKeyEntryParser::action() packages/ztd-query-sqlite/src/Schema/Key/ForeignKeyEntryParser.php:191
- class-const ZtdQuery\Platform\Sqlite\Schema\Key\ForeignKeyEntryParser::action() packages/ztd-query-sqlite/src/Schema/Key/ForeignKeyEntryParser.php:194
Type declarations 6
- type ZtdQuery\Schema\Key\ForeignKeyDefinition packages/ztd-query-core/src/Schema/Key/ForeignKeyDefinition.php:20
- type ZtdQuery\Schema\Key\ForeignKeyDefinition packages/ztd-query-core/src/Schema/Key/ForeignKeyDefinition.php:21
- type ZtdQuery\Shadow\ForeignKeyCascade packages/ztd-query-core/src/Shadow/ForeignKeyCascade.php:187
- type ZtdQuery\Platform\MySql\Schema\Key\DefinitionReader packages/ztd-query-mysql/src/Schema/Key/DefinitionReader.php:193
- type ZtdQuery\Platform\Postgres\Schema\Key\DefinitionEntry packages/ztd-query-postgres/src/Schema/Key/DefinitionEntry.php:155
- type ZtdQuery\Platform\Sqlite\Schema\Key\ForeignKeyEntryParser packages/ztd-query-sqlite/src/Schema/Key/ForeignKeyEntryParser.php:155