classShadowStore
class ShadowStore
Public API: explicitly declared with
@visibility public.Holds in-memory shadow rows for tables.
Type Aliases§
Row = import from TableDefinition$store = new \ZtdQuery\Shadow\ShadowStore();
$store->set('users', [['id' => 1, 'name' => 'Alice']]);
$snapshot = $store->snapshot();
$store->update('users', [['id' => 1, 'name' => 'Bob']], ['id']);
$store->get('users') // => [['id' => 1, 'name' => 'Bob']]
$store->restore($snapshot);
$store->get('users') // => [['id' => 1, 'name' => 'Alice']]Methods§
public function __construct(private RowMatch $match = new \ZtdQuery\Shadow\Row\RowMatch())public function set(string $tableName, array<int, Row> $rows): voidReplaces every shadow row of a table.
The caller's row keys and values are retained unchanged.
Parameters
$tableName | string | |
$rows | array<int, Row> | Rows the table now has, in order |
Test cases 382
ShadowStoreBench::setUpcallsFullPipelineFuzzTest::testCreateTableThenDeleteDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenInsertDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenSelectDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenUpdateDoesNotCrashcallsFullPipelineFuzzTest::testShadowStoreIntegrityAfterMultipleOperationscallsRewriteCheck::verifycallsRewriteTarget::__invokecallsRobustnessTarget::__invokecallsSemanticsTarget::__invokecallsMutationContractTest::testDeleteDecreasesRowCountcallsMutationContractTest::testDeleteOnEmptyTablecallsMutationContractTest::testIdempotentTruncatecallsMutationContractTest::testInsertIncreasesRowCountcallsMutationContractTest::testInsertIntoEmptyTablecallsMutationContractTest::testInsertWithEmptyStringValuescallsMutationContractTest::testInsertWithNullValuescallsMutationContractTest::testMutationTableIsolationcallsMutationContractTest::testTruncateEmptiesTablecallsMutationContractTest::testUpdateOnEmptyTablecallsMutationContractTest::testUpdatePreservesRowCountcallsRewriterContractTest::testDeleteReturnsWriteSimulatedWithMutationcallsRewriterContractTest::testRewriteIsDeterministiccallsRewriterContractTest::testUpdateReturnsWriteSimulatedWithMutationcallsClassAliasesTest::testLegacyNamesConstructWorkingSchemaAndMutationObjectscallsClassAliasesTest::testLegacyTransactionNameRollsBackRowscallsReferencedTableLookupTest::testFindUnknownTableIgnoresUserCtesAndFindsUnknownJoinSourcescallsReferencedTableLookupTest::testTableExistsRecognizesEachSchemaStatecallsTableContextTest::testBuildTableContextcallsTableContextTest::testBuildTableContextIncludesShadowTablesAndViewscallsTableContextTest::testFindUnknownTablecallsTableContextTest::testHasSchemaContextcallsTableContextTest::testHasSchemaContextTracksMutableRegistryStatecallsTableContextTest::testRequireKnownTablescallsTableContextTest::testTableExistscallsTableContextTest::testTableExistsIncludesRegisteredMaterializedAndViewNamescallsMySqlRewriterTest::testAlterTableChangeColumnRenamesColumncallsMySqlRewriterTest::testAlterTableDropColumnModifiesSchemacallsMySqlRewriterTest::testAlterTableRenameRenamesTablecallsMySqlRewriterTest::testBuildTableContextColumnsFromStoreRowKeyscallsMySqlRewriterTest::testBuildTableContextMergesShadowDataAndRegistryDefinitionscallsMySqlRewriterTest::testCreateTableAsSelectCreatesTableWithDatacallsMySqlRewriterTest::testDatabaseQualifiedSelectUsesShadowCtecallsMySqlRewriterTest::testDeleteReturnsWriteSimulatedWithMutationcallsMySqlRewriterTest::testDerivedTableKeepsNestedPhysicalRelationInShadowScopecallsMySqlRewriterTest::testDropTableMutationUnregistersSchemacallsMySqlRewriterTest::testHashCommentDoesNotCreateAPhantomSelectSourcecallsMySqlRewriterTest::testPartitionSelectionUsesRegisteredPartitionMetadatacallsMySqlRewriterTest::testRegisteredViewIsKnownAndMaterializedcallsMySqlRewriterTest::testReplaceMutationInsertsNewRowcallsMySqlRewriterTest::testReplaceMutationReplacesExistingRowcallsMySqlRewriterTest::testReplaceWithEmptyValuesThrowsExceptioncallsMySqlRewriterTest::testReplaceWithMismatchedColumnCountThrowsExceptioncallsMySqlRewriterTest::testRewriteBuildTableContextMergesExtraColumnKeysFromRowscallsMySqlRewriterTest::testRewriteBuildTableContextWithRowsButNoDefinitioncallsMySqlRewriterTest::testRewriteCreateTableAsSelectCreatesMutationcallsMySqlRewriterTest::testRewriteCreateTableAsSelectTransformsCtecallsMySqlRewriterTest::testRewriteCreateTableAsSelectTransformsSelectPartcallsMySqlRewriterTest::testRewriteIsDeterministiccallsMySqlRewriterTest::testRewriteMultipleProcessesEachStatementcallsMySqlRewriterTest::testRewriteReadAddsCtecallsMySqlRewriterTest::testRewriteReplaceCreatesMutationcallsMySqlRewriterTest::testRewriteReplaceWithoutColumnsButWithShadowDataSucceedscallsMySqlRewriterTest::testRewriteReplaceWithStoreContextDoesNotThrowcallsMySqlRewriterTest::testRewriteReplaceWithStoreDataDoesNotThrowcallsMySqlRewriterTest::testRewriteSelectWithJoinAndUnknownTableThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testRewriteSelectWithUnknownTableThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testRewriteSingleStatementStillWorkscallsMySqlRewriterTest::testRewriteTruncateCreatesMutationcallsMySqlRewriterTest::testRewriteWithStatementSelectUsesClassifycallsMySqlRewriterTest::testTruncateMutationClearsTablecallsMySqlRewriterTest::testUpdateReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testBuildTableContextMergesRegistryAndShadowcallsPgSqlRewriterTest::testBuildTableContextRegistryAndShadowBothIncludedcallsPgSqlRewriterTest::testBuildTableContextShadowOnlyDerivesDifferentColumnsAcrossRowscallsPgSqlRewriterTest::testBuildTableContextShadowOnlyDifferentColumnKeyscallsPgSqlRewriterTest::testBuildTableContextShadowOnlyWithRowsDeriveColumnscallsPgSqlRewriterTest::testChildPartitionSelectUsesFilteredParentShadowSourcecallsPgSqlRewriterTest::testCreateTableAsSelectReturnsDdlWithTransformedSqlcallsPgSqlRewriterTest::testDeleteSqlIsTransformedcallsPgSqlRewriterTest::testLateralDerivedTableKeepsNestedPhysicalRelationInShadowScopecallsPgSqlRewriterTest::testMergeBuildsAtomicSynchronizationPlancallsPgSqlRewriterTest::testNestedPartitionInsertAllocatesIdentityFromRootRowscallsPgSqlRewriterTest::testRegisteredViewIsKnownAndMaterializedcallsPgSqlRewriterTest::testSchemaQualifiedSelectUsesShadowCtecallsPgSqlRewriterTest::testSelectIgnoresSqlKeywordsInsideLeadingLineCommentcallsPgSqlRewriterTest::testSelectRewritesTableAfterBlockCommentcallsPgSqlRewriterTest::testSelectTableExistsInBothRegistryAndShadowcallsPgSqlRewriterTest::testSelectTableExistsInShadowStoreNotRegistrycallsPgSqlRewriterTest::testSelectTransformsCteWithShadowDatacallsPgSqlRewriterTest::testSelectUnknownTableWithShadowContextThrowscallsPgSqlRewriterTest::testSelectWithMultiRowShadowUsesValuescallsPgSqlRewriterTest::testSelectWithShadowOnlyDataDerivesColumnscallsPgSqlRewriterTest::testSelectWithShadowOnlyDataMergesColumnsAcrossRowscallsPgSqlRewriterTest::testSelectWithShadowOnlyHasSchemaContextcallsPgSqlRewriterTest::testTableFunctionDoesNotHideJoinedShadowRelationcallsPgSqlRewriterTest::testUpdateSqlIsTransformedcallsSqliteRewriterTest::testAlterTableUsesShadowedMigrationSelectcallsSqliteRewriterTest::testBuildTableContextSkipsAlreadyAddedFromShadowStorecallsSqliteRewriterTest::testBuildTableContextWithShadowStoreColumnsInferredcallsSqliteRewriterTest::testRegisteredViewIsKnownAndMaterializedcallsSqliteRewriterTest::testSchemaQualifiedSelectUsesShadowCtecallsSqliteRewriterTest::testSelectExistingInShadowStoreIsNotUnknowncallsSqliteRewriterTest::testSelectIgnoresSqlKeywordsInsideLeadingLineCommentcallsSqliteRewriterTest::testSelectRewritesTableAfterBlockCommentcallsSqliteRewriterTest::testSelectWithShadowStoreAndRegistryTablesMergedcallsSqliteRewriterTest::testTransactionStatementRestoresSnapshotOnRollbackcallsStatementRewriterTest::testRewriteStatementRejectsUnknownReadSourcescallsStatementRewriterTest::testRewriteStatementSimulatesWritesWithoutApplyingThemcallsStatementRewriterTest::testRewriteStatementUsesShadowRowsForReadscallsSessionTest::testApplyShadowWritesTheMutationAndAnswersWhatItCameTocallsSessionTest::testApplyTransactionStatementDoesWhatTheStatementSayscallsSessionTest::testCommitTransactionKeepsWhatTheTransactionDidcallsSessionTest::testDisableStopsZtdWithoutTouchingTheShadowcallsSessionTest::testForeignKeyFailureRestoresShadowStatecallsSessionTest::testMutationFailureIsConvertedToDatabaseExceptioncallsSessionTest::testRollBackTransactionPutsTheShadowBackToWhereItBegancallsSessionTest::testRunResultSelectAndApplyShadowReadsBackWhatTheStatementWouldHaveWrittencallsSessionTest::testTransactionsAnswersWhatATransactionStatementIsAppliedTocallsForeignKeyCascadeTest::testCarryDeleteDropsEveryChildThatWasHoldingTheKeyWhereTheActionCascadescallsForeignKeyCascadeTest::testCarryDeleteReachesNothingWhereTheParentTableStillHoldsTheKeycallsForeignKeyCascadeTest::testCarryDeleteSetsTheKeyToNullWhereTheActionSaysToRatherThanDroppingTheRowcallsForeignKeyCascadeTest::testCarryUpdateReachesNothingWhereTheParentTableStillHoldsTheOldKeycallsForeignKeyCascadeTest::testCarryUpdateWritesTheNewKeyIntoEveryChildThatWasHoldingTheOldOnecallsForeignKeyCascadeTest::testOfCarriesTheNewKeyToTheChildrenOfAnUpdatedParentcallsForeignKeyCascadeTest::testOfDeletesTheChildrenOfADeletedParentWhereTheActionSaysToCascadecallsForeignKeyCascadeTest::testOfFollowsNothingThroughAKeyWhoseEndsDisagreecallsForeignKeyCascadeTest::testOfLeavesTheChildrenAloneWhileAnotherParentRowHoldsTheKeyUpcallsForeignKeyIntegrityTest::testAssertHoldsChecksNothingThroughAKeyWhoseEndsDisagreecallsForeignKeyIntegrityTest::testAssertHoldsLeavesAKeyWithANullInItAlonecallsForeignKeyIntegrityTest::testAssertHoldsLeavesARowThatDoesNotCarryTheKeyColumnsAlonecallsForeignKeyIntegrityTest::testAssertHoldsPassesAShadowInWhichEveryChildFindsItsParentcallsForeignKeyIntegrityTest::testAssertHoldsRefusesAShadowInWhichAChildReferencesNothingcallsDataMutationTest::testAMutationThatChangesNoRowsCarriesNothingToTheChildrencallsDataMutationTest::testAMutationThatChangesRowsCarriesItsConsequencesToTheChildrencallsMutationImpactTest::testAppliedUpsertReturnsResultRowsAndIsInsertLikecallsMutationImpactTest::testSkippedConditionalUpsertHasNoAffectedOrReturningRowscallsDeleteMutationTest::testApplyRemovesMultipleRowscallsDeleteMutationTest::testApplyRemovesRowsByPrimaryKeycallsDeleteMutationTest::testApplyWithCompositePrimaryKeycallsDeleteMutationTest::testApplyWithEmptyRowsDoesNothingcallsDeleteMutationTest::testApplyWithNonExistentRowDoesNothingcallsInsertMutationTest::testApplyInsertsMultipleRowscallsInsertMutationTest::testApplyWithCompositePrimaryKeycallsInsertMutationTest::testInsertIgnoreSkipsDuplicatescallsInsertMutationTest::testInsertIgnoreSkipsUniqueKeyConflictcallsInsertMutationTest::testInsertIgnoreUsesPartialConflictPredicatecallsInsertMutationTest::testTableNameApplyAppendsRowscallsInsertMutationTest::testUniqueConstraintAllowsNullcallsInsertMutationTest::testValidatePrimaryKeyDuplicateThrowsExceptioncallsInsertMutationTest::testValidateUniqueThrowsExceptioncallsInsertMutationTest::testValidationDisabledByDefaultAllowsDuplicatescallsMultiDeleteMutationTest::testApplyDeletesFromMultipleTablescallsMultiDeleteMutationTest::testApplyDeletesMultipleRowsFromMultipleTablescallsMultiUpdateMutationTest::testApplySkipsRowsWithIncompleteValuesOrIdentitycallsMultiUpdateMutationTest::testApplyUpdatesMultipleRowscallsMultiUpdateMutationTest::testApplyUpdatesMultipleTablescallsReplaceMutationTest::testApplyInsertsNewRowWhenNoDuplicatecallsReplaceMutationTest::testApplyRemovesEveryRowConflictingWithAnyCandidateKeycallsReplaceMutationTest::testApplyReplacesExistingRowByPrimaryKeycallsReplaceMutationTest::testApplyReplacesMultipleRowscallsReplaceMutationTest::testApplyWithCompositePrimaryKeycallsReplaceMutationTest::testApplyWithMissingPrimaryKeyDoesNotMatchcallsReplaceMutationTest::testApplyWithoutCandidateKeysDoesNotReplaceEqualRowscallsRowMutationResolverTest::testMultiTableTargetscallsRowMutationResolverTest::testResolveDeletecallsRowMutationResolverTest::testResolveDeleteMatchesThePrimaryKeycallsRowMutationResolverTest::testResolveInsertcallsRowMutationResolverTest::testResolveReplacecallsRowMutationResolverTest::testResolveTruncateIncludesEveryExplicitTargetcallsRowMutationResolverTest::testResolveUpdatecallsRowMutationResolverTest::testResolveUpdatePreservesTheTargetIdentitycallsRowMutationResolverTest::testResolveUpsertEvaluatesAssignmentsWithoutNativeCandidateKeyscallsUpdateMutationTest::testApplyLeavesATableTheOldKeyPointsAtNothingInAlonecallsUpdateMutationTest::testApplyWritesTheNewRowOverTheRowTheOldKeyPointsAtcallsUpdateMutationTest::testTableNameApplyReplacesRowsByPrimaryKeycallsUpdateMutationTest::testUpdateSameRowUniqueDoesNotThrowcallsUpdateMutationTest::testValidateNotNullThrowsExceptioncallsUpdateMutationTest::testValidateUniqueThrowsExceptioncallsUpdateMutationTest::testValidationDisabledByDefaultAllowsNullInNotNullColumncallsShadowMutationTest::testApplyWritesWhatTheStatementDidIntoTheShadowcallsAddColumnResolverTest::testResolveAlterAddColumnProjectsDefaultAndRegistersNewSchemacallsAddColumnResolverTest::testResolveAlterAddColumnRejectsDuplicateColumnIgnoringCasecallsAddColumnResolverTest::testResolveAlterAddColumnRejectsMultipleColumnscallsAlteredTableProjectionTest::testAlterMutationBuildsProjectionWithoutApplyingItcallsAlteredTableProjectionTest::testAlterMutationRejectsRemovingEveryColumncallsAlteredTableProjectionTest::testExistingColumnPreservesCanonicalNamecallsColumnAlterationTest::testApplyAddColumncallsColumnAlterationTest::testApplyChangeColumncallsColumnAlterationTest::testApplyDropColumncallsColumnAlterationTest::testApplyModifyColumncallsColumnAlterationTest::testApplyRenameColumncallsDropColumnResolverTest::testResolveAlterDropColumnProjectsRemainingRowscallsDropColumnResolverTest::testResolveAlterDropColumnRejectsMissingColumncallsOperationApplierTest::testApplyOperationcallsOperationApplierTest::testApplyRenameTablecallsRenameResolverTest::testResolveAlterRenameColumnProjectsNewNamecallsRenameResolverTest::testResolveAlterRenameColumnRejectsExistingTargetNamecallsRenameResolverTest::testResolveAlterRenameTableMovesSchemaAndRowsAtApplycallsStoredColumnsTest::testRemoveColumnFromStorecallsStoredColumnsTest::testRenameColumnInStorecallsAlterTableMutationTest::testApplyChangeColumnRenamesAndModifiesColumncallsAlterTableMutationTest::testApplyChangeColumnSameNameKeepsStoreUnchangedcallsAlterTableMutationTest::testApplyChangeColumnUpdatesStoreColumnNamecallsAlterTableMutationTest::testApplyDropColumnRemovesColumncallsAlterTableMutationTest::testApplyDropColumnRemovesColumnFromStoreRowscallsAlterTableMutationTest::testApplyRenameColumnRenamesExistingColumncallsAlterTableMutationTest::testApplyRenameColumnUpdatesDefinitionAndStorecallsAlterTableMutationTest::testApplyRenameColumnUpdatesStoreDatacallsAlterTableMutationTest::testApplyRenameMovesRowsAndRetainsSourceTombstonecallsAlterTableMutationTest::testApplyRenameTableRegistersNewNameInRegistrycallsAlterTableMutationTest::testApplyRenameTableTransfersStoreDataToNewNamecallsAlterTableMutationTest::testChangeColumnRenamesAndUpdatesTypecallsAlterTableMutationTest::testChangeColumnSameNameModifiesTypecallsAlterTableMutationTest::testChangeColumnUpdatesStoreColumnKeycallsAlterTableMutationTest::testChangeWithoutColumnKeywordcallsAlterTableMutationTest::testDropColumnRemovesFromMultipleStoreRowscallsAlterTableMutationTest::testDropColumnRemovesFromStoreDatacallsAlterTableMutationTest::testDropColumnRemovesFromStoreRowscallsAlterTableMutationTest::testDropColumnWithoutColumnKeywordcallsAlterTableMutationTest::testRenameColumnUpdatesStoreColumnNamecallsAlterTableMutationTest::testRenameColumnUpdatesStoreDatacallsAlterTableMutationTest::testRenameTableMovesDataAndRegistrycallsAlterTableMutationTest::testRenameTablePreservesSchemaDefinitioncallsAlterTableMutationTest::testRenameTableTransfersStoreDatacallsAlterTableMutationTest::testRenameTableUpdatesRegistryAndStorecallsAlterTableMutationTest::testTableNameResultSelectApplyReplacesDefinitionAndRowsAtSameNamecallsDropTableMutationTest::testApplyClearsDataFromShadowStorecallsDropTableMutationTest::testApplyUnregistersTableFromSchemacallsDropTableMutationTest::testApplyWithIfExistsDropsExistingTablecallsMultiTruncateMutationTest::testApplyClearsEveryTargetTablecallsSynchronizeMutationTest::testTableNameApplyReplacesTheCompleteTableStatecallsTableMutationResolverTest::testResolveDropTableRemovesOnlyTheTargetcallsTableMutationResolverTest::testResolveTruncatecallsTruncateMutationTest::testApplyClearsAllRowscallsTruncateMutationTest::testApplyIgnoresProvidedRowscallsTruncateMutationTest::testApplyOnEmptyTableDoesNothingcallsUpsertMutationTest::testApplyAccumulatesExistingAndIncomingValuescallsUpsertMutationTest::testApplyAccumulatesSequentialConflictsAgainstLatestRowcallsUpsertMutationTest::testApplyHandlesMixedInsertAndUpdatecallsUpsertMutationTest::testApplyInsertsNewRowWhenNoDuplicatecallsUpsertMutationTest::testApplyUpdatesAllNonPrimaryColumnsWhenNoUpdateColumnsSpecifiedcallsUpsertMutationTest::testApplyUpdatesExistingRowOnDuplicatecallsUpsertMutationTest::testApplyUpdatesExistingRowOnUniqueKeyConflictcallsUpsertMutationTest::testApplyUsesConflictPredicateAndReportsOnlyAppliedRowscallsUpsertMutationTest::testApplyUsesDatabaseEvaluatedValuesAndStripsMetadatacallsUpsertMutationTest::testApplyWithCompositePrimaryKeycallsUpsertMutationTest::testApplyWithExcludedColumnReferencecallsUpsertMutationTest::testApplyWithExcludedQuotedColumnReferencecallsUpsertMutationTest::testApplyWithLiteralUpdateValuecallsUpsertMutationTest::testApplyWithMissingPrimaryKeyInsertsNewRowcallsUpsertMutationTest::testApplyWithUpdateValuesExpressioncallsUpsertMutationTest::testConflictPredicateRestrictsIncomingAndExistingCandidateRowscallsUpsertMutationTest::testDatabaseEvaluatedBatchDetectsConflictsWithRowsInsertedEarlierInStatementcallsUpsertMutationTest::testDatabaseEvaluatedBatchReevaluatesAgainstLatestConflictRowcallsUpsertMutationTest::testDatabaseEvaluatedBatchRejectsStaleUnsupportedExpressioncallsUpsertMutationTest::testDatabaseEvaluatedPredicateFallsBackWhenMetadataIsMissingcallsUpsertMutationTest::testResultRowsAnswersEveryRowTheStatementWroteOrLeftAsItWascallsUpsertMutationTest::testSkippedConditionalRowDoesNotStopFollowingRowscallsMySqlMutationResolverTest::testDeleteUsesColumnsFromShadowStorecallsMySqlMutationResolverTest::testMultiTableUpdateEnsuresTablesInStorecallsMySqlMutationResolverTest::testResolveDeleteMultiTableReturnsMultiDeleteMutationcallsMySqlMutationResolverTest::testResolveDeleteUsesColumnsFromShadowStoreFirstcallsMySqlMutationResolverTest::testResolveDeleteWithShadowDataButNoDefinitioncallsMySqlMutationResolverTest::testResolveInsertIgnoreWithoutDefinitionReturnEmptyPkscallsMySqlMutationResolverTest::testResolveInsertReturnsInsertMutationcallsMySqlMutationResolverTest::testResolveRowAliasUpsertAppliesIncomingColumnscallsMySqlMutationResolverTest::testResolveUpdateMultiTableReturnsMultiUpdateMutationcallsMySqlMutationResolverTest::testResolveUpdateUsesColumnsFromShadowStoreFirstcallsMySqlMutationResolverTest::testResolveUpdateWithShadowDataButNoDefinitioncallsMySqlMutationResolverTest::testUpdateUsesColumnsFromStoreWhenAvailablecallsParentKeyLookupTest::testDoesNotExistWhenNoRowCarriesTheValuescallsParentKeyLookupTest::testExistsOnlyWhenOneRowCarriesEveryColumnOfACompositeKeycallsParentKeyLookupTest::testExistsWhenSomeRowStillCarriesTheValuescallsPgSqlMutationResolverTest::testResolveDeleteWithoutRegistryReturnsEmptyPrimaryKeyscallsPgSqlMutationResolverTest::testResolveDeleteWithShadowRowsDoesNotThrowcallsPgSqlMutationResolverTest::testResolveDeleteWithShadowStoreDatacallsPgSqlMutationResolverTest::testResolveDeleteWithShadowStoreOnlyNoRegistrycallsPgSqlMutationResolverTest::testResolveInsertReturnsInsertMutationcallsPgSqlMutationResolverTest::testResolveInsertWithOnConflictDoNothingReturnsInsertMutationcallsPgSqlMutationResolverTest::testResolveUpdateLowercaseExtractsTablecallsPgSqlMutationResolverTest::testResolveUpdateWithoutRegistryReturnsEmptyPrimaryKeyscallsPgSqlMutationResolverTest::testResolveUpsertApplyUpdatesExistingRowcallsPgSqlMutationResolverTest::testResolveUpsertConflictValuesPreservedcallsPgSqlMutationResolverTest::testResolveUpsertUsesPartialIndexPredicateForConflictDetectioncallsReferentialIntegrityEnforcerTest::testAcceptsExplicitReferenceToNonPrimaryCandidateKeycallsReferentialIntegrityEnforcerTest::testCascadeNormalizesSparseChildRowIndexescallsReferentialIntegrityEnforcerTest::testCompositeDeleteSetNullNormalizesEveryForeignKeyColumncallsReferentialIntegrityEnforcerTest::testCompositePrimaryKeyUpdateCascadesOnlyMatchingChildrencallsReferentialIntegrityEnforcerTest::testDeleteCascadePropagatesAcrossMultipleLevelscallsReferentialIntegrityEnforcerTest::testDeleteCascadeRemovesAllMatchingChildrenAndKeepsOtherscallsReferentialIntegrityEnforcerTest::testDeleteRestrictRejectsParentRemovalcallsReferentialIntegrityEnforcerTest::testDeleteSetNullCarriesOriginalRowIntoNextLevelcallsReferentialIntegrityEnforcerTest::testDeleteSetNullUpdatesChildcallsReferentialIntegrityEnforcerTest::testEmptySelfReferentialCascadeTerminatesWithoutSyntheticEventscallsReferentialIntegrityEnforcerTest::testExplicitReferencedColumnsAreNotReplacedByPrimaryKeycallsReferentialIntegrityEnforcerTest::testFallbackContinuesAfterIdentityMatchedRowcallsReferentialIntegrityEnforcerTest::testFallbackReferencedPrimaryKeyAppearsInUpdateViolationcallsReferentialIntegrityEnforcerTest::testFallbackTransitionPropagatesUpdateAndDeleteFromOneTablecallsReferentialIntegrityEnforcerTest::testIdentityTransitionSkipsIncompleteChangeAndProcessesFollowingChangecallsReferentialIntegrityEnforcerTest::testMatchingConstraintAfterUnrelatedConstraintStillCascadescallsReferentialIntegrityEnforcerTest::testMissingReferencedValuesDoNotStopLaterUpdateOrDeleteCascadescallsReferentialIntegrityEnforcerTest::testMultiTruncateCascadesFromEveryChangedParentTablecallsReferentialIntegrityEnforcerTest::testPrimaryKeyUpdateCascadesThroughOriginalRowIdentitycallsReferentialIntegrityEnforcerTest::testRejectsInsertWhoseParentDoesNotExistcallsReferentialIntegrityEnforcerTest::testRetainedOldKeyDoesNotStopFollowingUpdateCascadecallsReferentialIntegrityEnforcerTest::testRowsWithMissingPrimaryKeyCannotMatchRowsThatHaveTheKeycallsReferentialIntegrityEnforcerTest::testSchemaMutationDoesNotTriggerRowValidationcallsReferentialIntegrityEnforcerTest::testSchemaMutationSkipsRowIntegrityCheckscallsReferentialIntegrityEnforcerTest::testSynchronizeCascadesDeletedRowscallsReferentialIntegrityEnforcerTest::testUpdateCascadeCarriesOriginalRowIntoNextLevelcallsReferentialIntegrityEnforcerTest::testUpdateDoesNotCascadeWhileOldParentKeyStillExistscallsReferentialIntegrityEnforcerTest::testValidationContinuesPastMissingAndNullForeignKeyscallsInsertMutationResolverTest::testResolveInsertInsertOnConflictDoNothingIsIgnorecallsInsertMutationResolverTest::testResolveOnConflictConsumesNativeEvaluationMetadatacallsInsertMutationResolverTest::testResolveOnConflictDoNothingPreservesExistingRowcallsMutationTableLookupTest::testAssertTableWasNotRemovedPermitsAnActiveSchemacallsMutationTableLookupTest::testAssertTableWasNotRemovedRejectsDroppedTablescallsMutationTableLookupTest::testDefinitionRejectsUnknownTablescallsMutationTableLookupTest::testDefinitionReturnsTheRegisteredSchemacallsRowMutationResolverTest::testResolveDeleteTableNamecallsRowMutationResolverTest::testResolveDeleteWithExistingRowscallsRowMutationResolverTest::testResolveDeleteWithoutDefinitionButWithShadowRowscallsRowMutationResolverTest::testResolveUpdateWithoutDefinitionHasEmptyPrimaryKeyscallsRowMutationResolverTest::testResolveUpdateWithoutDefinitionReturnsEmptyPrimaryKeyscallsShadowApplicationTest::testApplyAnswersWhatTheStatementCameTocallsShadowApplicationTest::testApplyLeavesTheShadowAsItWasWhenTheStatementIsRefusedcallsShadowApplicationTest::testApplyWritesTheRowsAMutationDescribesIntoTheShadowcallsShadowApplicationTest::testLastInsertIdOfAnswersTheIdentityTheTableSaysIsNumberedcallsShadowApplicationTest::testLastInsertIdOfFallsBackToASingleColumnKeycallsShadowApplicationTest::testLastInsertIdOfIsNothingForAStatementThatInsertedNothingcallsShadowApplicationTest::testLastInsertIdOfIsNothingWhereNoColumnIsNumberedcallsShadowSavepointTest::testOfRemembersTheRowsAsTheyWereRatherThanAsTheyBecomecallsShadowSavepointTest::testRestoreIntoLeavesTheTablesAloneWhereNothingIsDescribingThemcallsShadowStoreTest::testClearRemovesAllDatacallsShadowStoreTest::testDeleteFallsBackToRowMatchWithoutPrimaryKeyscallsShadowStoreTest::testDeleteUsesPrimaryKeysWhenProvidedcallsShadowStoreTest::testGetAllReturnsCurrentTablescallsShadowStoreTest::testRemoveClearsRowsAndInitializationcallsShadowStoreTest::testRestoreSnapshotRestoreSnapshotRestoreIncludesRowsAndInitializedPresencecallsShadowStoreTest::testSetPreservesTheCallersSparseRowKeyscallsShadowStoreTest::testSnapshotIsARecordOfTheRowsRatherThanAViewOfThemcallsShadowStoreTest::testSnapshotPreservesOpaqueValuesAndSparseKeysThroughUpdatescallsShadowStoreTest::testUpdateIdentifiedWritesTheRowTheOldKeyPointsAtcallsShadowStoreTest::testUpdateNoOpWhenNoMatchcallsShadowStoreTest::testUpdateReplacesMatchingRowcallsShadowStoreTest::testUpdateWithoutPrimaryKeysThrowscallsShadowTransactionsTest::testBeginIsIgnoredWhereATransactionHasAlreadyBeguncallsShadowTransactionsTest::testCommitLeavesNothingToRollBackTocallsShadowTransactionsTest::testPositionOfIsNothingForANameNothingWasDeclaredUndercallsShadowTransactionsTest::testReleaseGivesUpTheSavepointAndEveryNestedOneWithoutUndoingAnythingcallsShadowTransactionsTest::testRollBackPutsBackTheRowsTheTablesAndWhatDescribesThemcallsShadowTransactionsTest::testRollBackToKeepsTheSavepointAndGivesUpEveryLaterOnecallsShadowTransactionsTest::testRollBackToLeavesItsTargetToBeRolledBackToAgaincallsShadowTransactionsTest::testSavepointDeclaredTwiceUnderOneNameTakesThePlaceOfTheFirstcallsSqliteMutationResolverTest::testResolveDeleteTableNamecallsSqliteMutationResolverTest::testResolveDeleteWithExistingRowscallsSqliteMutationResolverTest::testResolveDeleteWithoutDefinitionButWithShadowRowscallsSqliteMutationResolverTest::testResolveInsertOnConflictDoNothingIsIgnorecallsSqliteMutationResolverTest::testResolveUpdateWithoutDefinitionHasEmptyPrimaryKeyscallsSqliteMutationResolverTest::testResolveUpdateWithoutDefinitionReturnsEmptyPrimaryKeyscallsTableTransitionsTest::testOfAnswersOneEntryPerTableSomethingHappenedTocallsTableTransitionsTest::testOfLeavesOutATableNothingHappenedTocallsTableTransitionsTest::testOfReadsTheResultRowsOnlyForTheTableAnUpdateNamescallsMySqlTransactionStatementParserTest::testAppliesUnescapedMySqlSavepointNamecallsPgSqlTransactionStatementParserTest::testAppliesUnescapedPostgresSavepointNamecallsSqliteTransactionStatementParserTest::testAppliesUnescapedSqliteSavepointNamecallsTransactionStatementParserTest::testParseReadsAStatementThatOpensATransactioncallsTransactionStatementTest::testBeginStartsATransactionARollbackCanGoBackTocallsTransactionStatementTest::testCommitKeepsEverythingTheTransactionDidcallsTransactionStatementTest::testReleaseCommitAppliesNamedTransactionLifecycleWithoutSqlcallsTransactionStatementTest::testRollbackAppliesRollbackcallsTransactionStatementTest::testRollbackToGoesBackToTheSavepointAndLeavesItDeclaredcallsZtdMysqliStatementTest::testResetClearsTheSimulatedAffectedRowCountcallsZtdMysqliTest::testAutocommitCommitsOrRollsBackTheShadowScopecallsZtdMysqliTest::testBegin_transactionCreatesAShadowRollbackScopecallsZtdMysqliTest::testCommitRetainsTheShadowRowscallsZtdMysqliTest::testReal_queryAppliesTransactionStatementscallsZtdMysqliTest::testRelease_savepointRemovesTheNativeAndShadowSavepointscallsZtdMysqliTest::testRollbackRestoresTheShadowSnapshotcallsZtdMysqliTest::testSavepointPreservesItsShadowSnapshotcallsZtdPdoStatementTest::testExecuteWrapsSimulationFailureAsAdapterExceptioncalls
Called from 12
- method-call ZtdQuery\Shadow\ForeignKeyCascade::of() packages/ztd-query-core/src/Shadow/ForeignKeyCascade.php:84
- method-call ZtdQuery\Shadow\Mutation\Row\ReplaceMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Row/ReplaceMutation.php:50
- method-call ZtdQuery\Shadow\Mutation\Table\CreateTableAsSelectMutation::applyResultSet() packages/ztd-query-core/src/Shadow/Mutation/Table/CreateTableAsSelectMutation.php:103
- method-call ZtdQuery\Shadow\Mutation\Table\MultiTruncateMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Table/MultiTruncateMutation.php:29
- method-call ZtdQuery\Shadow\Mutation\Table\SynchronizeMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Table/SynchronizeMutation.php:70
- method-call ZtdQuery\Shadow\Mutation\Table\TruncateMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Table/TruncateMutation.php:37
- method-call ZtdQuery\Shadow\Mutation\UpsertMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/UpsertMutation.php:146
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\OperationApplier::applyRenameTable() packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/OperationApplier.php:81
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\OperationApplier::applyRenameTable() packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/OperationApplier.php:82
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\StoredColumns::removeColumnFromStore() packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/StoredColumns.php:37
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\StoredColumns::renameColumnInStore() packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/StoredColumns.php:58
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\AlterTableMutation::apply() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/AlterTableMutation.php:46
public function get(string $tableName): array<int, Row>Get all shadow rows for a table.
Parameters
$tableName | string |
Returns
array<int, Row>Test cases 248
FullPipelineFuzzTest::testCreateTableThenDeleteDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenInsertDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenUpdateDoesNotCrashcallsStateComparison::comparecallsMutationContractTest::testDeleteDecreasesRowCountcallsMutationContractTest::testDeleteOnEmptyTablecallsMutationContractTest::testIdempotentTruncatecallsMutationContractTest::testInsertIncreasesRowCountcallsMutationContractTest::testInsertIntoEmptyTablecallsMutationContractTest::testInsertWithEmptyStringValuescallsMutationContractTest::testInsertWithNullValuescallsMutationContractTest::testMutationTableIsolationcallsMutationContractTest::testTruncateEmptiesTablecallsMutationContractTest::testUpdateOnEmptyTablecallsMutationContractTest::testUpdatePreservesRowCountcallsClassAliasesTest::testLegacyNamesConstructWorkingSchemaAndMutationObjectscallsClassAliasesTest::testLegacyTransactionNameRollsBackRowscallsMySqlRewriterTest::testAlterTableChangeColumnRenamesColumncallsMySqlRewriterTest::testAlterTableDropColumnModifiesSchemacallsMySqlRewriterTest::testAlterTableRenameRenamesTablecallsMySqlRewriterTest::testCreateTableAsSelectCreatesTableWithDatacallsMySqlRewriterTest::testCreateTableLikeCopiesSchemacallsMySqlRewriterTest::testCreateTableMutationRegistersSchemacallsMySqlRewriterTest::testDropTableMutationUnregistersSchemacallsMySqlRewriterTest::testReplaceMutationInsertsNewRowcallsMySqlRewriterTest::testReplaceMutationReplacesExistingRowcallsMySqlRewriterTest::testRewriteDeleteEnsuresDmlTableInShadowStorecallsMySqlRewriterTest::testRewriteUpdateEnsuresDmlTableInShadowStorecallsMySqlRewriterTest::testTruncateMutationClearsTablecallsPgSqlRewriterTest::testBuildTableContextShadowOnlyDifferentColumnKeysDetailedcallsPgSqlRewriterTest::testDeleteEnsuresDmlTargetInShadowStorecallsPgSqlRewriterTest::testDeleteEnsuresDmlTargetIsCalledForDeletecallsPgSqlRewriterTest::testDeleteEnsuresDmlTargetViaShadowStorecallsPgSqlRewriterTest::testInsertDoesNotCallEnsureDmlTargetcallsPgSqlRewriterTest::testUpdateEnsuresDmlTargetInShadowStorecallsPgSqlRewriterTest::testUpdateEnsuresDmlTargetIsCalledForUpdatecallsPgSqlRewriterTest::testUpdateEnsuresDmlTargetViaShadowStorecallsSqliteRewriterTest::testDeleteEnsuresShadowStoreCalledOnTargetcallsSqliteRewriterTest::testTransactionStatementRestoresSnapshotOnRollbackcallsSqliteRewriterTest::testUpdateEnsuresShadowStoreCalledOnTargetcallsSqliteRewriterTest::testUpdateEnsuresShadowStoreForTargetTablecallsStatementRewriterTest::testRewriteStatementSimulatesWritesWithoutApplyingThemcallsMysqliResultProcessorTest::testProcessUsesNativeRowsForTheShadowMutationcallsSessionTest::testApplyShadowWritesTheMutationAndAnswersWhatItCameTocallsSessionTest::testApplyTransactionStatementDoesWhatTheStatementSayscallsSessionTest::testCommitTransactionKeepsWhatTheTransactionDidcallsSessionTest::testDisableStopsZtdWithoutTouchingTheShadowcallsSessionTest::testForeignKeyFailureRestoresShadowStatecallsSessionTest::testRollBackTransactionPutsTheShadowBackToWhereItBegancallsSessionTest::testTransactionsAnswersWhatATransactionStatementIsAppliedTocallsForeignKeyCascadeTest::testOfCarriesTheNewKeyToTheChildrenOfAnUpdatedParentcallsForeignKeyCascadeTest::testOfDeletesTheChildrenOfADeletedParentWhereTheActionSaysToCascadecallsForeignKeyCascadeTest::testOfLeavesTheChildrenAloneWhileAnotherParentRowHoldsTheKeyUpcallsMutationImpactTest::testAppliedUpsertReturnsResultRowsAndIsInsertLikecallsMutationImpactTest::testSkippedConditionalUpsertHasNoAffectedOrReturningRowscallsDeleteMutationTest::testApplyRemovesMultipleRowscallsDeleteMutationTest::testApplyRemovesRowsByPrimaryKeycallsDeleteMutationTest::testApplyWithCompositePrimaryKeycallsDeleteMutationTest::testApplyWithEmptyRowsDoesNothingcallsDeleteMutationTest::testApplyWithNonExistentRowDoesNothingcallsInsertMutationTest::testApplyInsertsMultipleRowscallsInsertMutationTest::testApplyInsertsToEmptyTablecallsInsertMutationTest::testApplyWithCompositePrimaryKeycallsInsertMutationTest::testInsertIgnoreSkipsDuplicatescallsInsertMutationTest::testInsertIgnoreSkipsUniqueKeyConflictcallsInsertMutationTest::testInsertIgnoreUsesPartialConflictPredicatecallsInsertMutationTest::testTableNameApplyAppendsRowscallsInsertMutationTest::testUniqueConstraintAllowsNullcallsInsertMutationTest::testValidationDisabledByDefaultAllowsDuplicatescallsMultiDeleteMutationTest::testApplyDeletesFromMultipleTablescallsMultiDeleteMutationTest::testApplyDeletesMultipleRowsFromMultipleTablescallsMultiUpdateMutationTest::testApplySkipsRowsWithIncompleteValuesOrIdentitycallsMultiUpdateMutationTest::testApplyUpdatesMultipleRowscallsMultiUpdateMutationTest::testApplyUpdatesMultipleTablescallsReplaceMutationTest::testApplyInsertsNewRowWhenNoDuplicatecallsReplaceMutationTest::testApplyRemovesEveryRowConflictingWithAnyCandidateKeycallsReplaceMutationTest::testApplyReplacesExistingRowByPrimaryKeycallsReplaceMutationTest::testApplyReplacesMultipleRowscallsReplaceMutationTest::testApplyWithCompositePrimaryKeycallsReplaceMutationTest::testApplyWithMissingPrimaryKeyDoesNotMatchcallsReplaceMutationTest::testApplyWithoutCandidateKeysDoesNotReplaceEqualRowscallsResultSetMutationTest::testApplyResultSetGivesTheNewTableTheRowsTheResultCarriedcallsRowMutationResolverTest::testResolveDeleteMatchesThePrimaryKeycallsRowMutationResolverTest::testResolveInsertAppliesOnlyReturnedRowscallsRowMutationResolverTest::testResolveMergeSynchronizesTheProjectedTargetcallsRowMutationResolverTest::testResolveTruncateIncludesEveryExplicitTargetcallsRowMutationResolverTest::testResolveUpdatePreservesTheTargetIdentitycallsRowMutationResolverTest::testResolveUpsertEvaluatesAssignmentsWithoutNativeCandidateKeyscallsUpdateMutationTest::testApplyLeavesATableTheOldKeyPointsAtNothingInAlonecallsUpdateMutationTest::testApplyWritesTheNewRowOverTheRowTheOldKeyPointsAtcallsUpdateMutationTest::testTableNameApplyReplacesRowsByPrimaryKeycallsUpdateMutationTest::testUpdateSameRowUniqueDoesNotThrowcallsUpdateMutationTest::testValidationDisabledByDefaultAllowsNullInNotNullColumncallsShadowMutationTest::testApplyWritesWhatTheStatementDidIntoTheShadowcallsAddColumnResolverTest::testResolveAlterAddColumnProjectsDefaultAndRegistersNewSchemacallsColumnAlterationTest::testApplyChangeColumncallsColumnAlterationTest::testApplyDropColumncallsColumnAlterationTest::testApplyRenameColumncallsDropColumnResolverTest::testResolveAlterDropColumnProjectsRemainingRowscallsOperationApplierTest::testApplyRenameTablecallsRenameResolverTest::testResolveAlterRenameTableMovesSchemaAndRowsAtApplycallsStoredColumnsTest::testRemoveColumnFromStorecallsStoredColumnsTest::testRenameColumnInStorecallsAlterTableMutationTest::testApplyChangeColumnRenamesAndModifiesColumncallsAlterTableMutationTest::testApplyChangeColumnSameNameKeepsStoreUnchangedcallsAlterTableMutationTest::testApplyChangeColumnUpdatesStoreColumnNamecallsAlterTableMutationTest::testApplyDropColumnEmptyStoreDoesNotModifyStorecallsAlterTableMutationTest::testApplyDropColumnRemovesColumncallsAlterTableMutationTest::testApplyDropColumnRemovesColumnFromStoreRowscallsAlterTableMutationTest::testApplyRenameColumnEmptyStoreDoesNotModifyStorecallsAlterTableMutationTest::testApplyRenameColumnRenamesExistingColumncallsAlterTableMutationTest::testApplyRenameColumnUpdatesDefinitionAndStorecallsAlterTableMutationTest::testApplyRenameColumnUpdatesStoreDatacallsAlterTableMutationTest::testApplyRenameMovesRowsAndRetainsSourceTombstonecallsAlterTableMutationTest::testApplyRenameTableEmptyStoreTransfersEmptycallsAlterTableMutationTest::testApplyRenameTableTransfersStoreDataToNewNamecallsAlterTableMutationTest::testChangeColumnRenamesAndUpdatesTypecallsAlterTableMutationTest::testChangeColumnSameNameModifiesTypecallsAlterTableMutationTest::testChangeColumnUpdatesStoreColumnKeycallsAlterTableMutationTest::testChangeWithoutColumnKeywordcallsAlterTableMutationTest::testDropColumnRemovesFromMultipleStoreRowscallsAlterTableMutationTest::testDropColumnRemovesFromStoreDatacallsAlterTableMutationTest::testDropColumnRemovesFromStoreRowscallsAlterTableMutationTest::testDropColumnWithoutColumnKeywordcallsAlterTableMutationTest::testRenameColumnEmptyStoreDoesNotModifyStorecallsAlterTableMutationTest::testRenameColumnUpdatesStoreColumnNamecallsAlterTableMutationTest::testRenameColumnUpdatesStoreDatacallsAlterTableMutationTest::testRenameTableEmptyStoreDoesNotModifyStorecallsAlterTableMutationTest::testRenameTableMovesDataAndRegistrycallsAlterTableMutationTest::testRenameTablePreservesSchemaDefinitioncallsAlterTableMutationTest::testRenameTableTransfersStoreDatacallsAlterTableMutationTest::testRenameTableUpdatesRegistryAndStorecallsAlterTableMutationTest::testTableNameResultSelectApplyReplacesDefinitionAndRowsAtSameNamecallsCreateTableAsSelectMutationTest::testApplyResultSetCreatesEmptyTableFromMetadatacallsCreateTableAsSelectMutationTest::testApplyStoresRowsFromSelectResultcallsCreateTableLikeMutationTest::testApplyEnsuresNewTableInShadowStorecallsCreateTableMutationTest::testApplyEnsuresTableInShadowStorecallsDropTableMutationTest::testApplyClearsDataFromShadowStorecallsDropTableMutationTest::testApplyWithIfExistsDropsExistingTablecallsMultiTruncateMutationTest::testApplyClearsEveryTargetTablecallsSynchronizeMutationTest::testTableNameApplyReplacesTheCompleteTableStatecallsTableMutationResolverTest::testResolveCreateTableRegistersItsSchemaOnlyWhenAppliedcallsTableMutationResolverTest::testResolveTruncatecallsTruncateMutationTest::testApplyClearsAllRowscallsTruncateMutationTest::testApplyIgnoresProvidedRowscallsTruncateMutationTest::testApplyOnEmptyTableDoesNothingcallsUpsertMutationTest::testApplyAccumulatesExistingAndIncomingValuescallsUpsertMutationTest::testApplyAccumulatesSequentialConflictsAgainstLatestRowcallsUpsertMutationTest::testApplyHandlesMixedInsertAndUpdatecallsUpsertMutationTest::testApplyInsertsNewRowWhenNoDuplicatecallsUpsertMutationTest::testApplyUpdatesAllNonPrimaryColumnsWhenNoUpdateColumnsSpecifiedcallsUpsertMutationTest::testApplyUpdatesExistingRowOnDuplicatecallsUpsertMutationTest::testApplyUpdatesExistingRowOnUniqueKeyConflictcallsUpsertMutationTest::testApplyUsesConflictPredicateAndReportsOnlyAppliedRowscallsUpsertMutationTest::testApplyUsesDatabaseEvaluatedValuesAndStripsMetadatacallsUpsertMutationTest::testApplyWithCompositePrimaryKeycallsUpsertMutationTest::testApplyWithExcludedColumnReferencecallsUpsertMutationTest::testApplyWithExcludedQuotedColumnReferencecallsUpsertMutationTest::testApplyWithLiteralUpdateValuecallsUpsertMutationTest::testApplyWithMissingPrimaryKeyInsertsNewRowcallsUpsertMutationTest::testApplyWithUpdateValuesExpressioncallsUpsertMutationTest::testConflictPredicateRestrictsIncomingAndExistingCandidateRowscallsUpsertMutationTest::testDatabaseEvaluatedBatchDetectsConflictsWithRowsInsertedEarlierInStatementcallsUpsertMutationTest::testDatabaseEvaluatedBatchReevaluatesAgainstLatestConflictRowcallsUpsertMutationTest::testDatabaseEvaluatedPredicateFallsBackWhenMetadataIsMissingcallsUpsertMutationTest::testSkippedConditionalRowDoesNotStopFollowingRowscallsMySqlMutationResolverTest::testDeleteEnsuresTableInShadowStorecallsMySqlMutationResolverTest::testMultiDeleteEnsuresTablesInStorecallsMySqlMutationResolverTest::testResolveDeleteMultiTableReturnsMultiDeleteMutationcallsMySqlMutationResolverTest::testResolveMultiDeleteEnsuresAllTablesInStorecallsMySqlMutationResolverTest::testResolveRowAliasUpsertAppliesIncomingColumnscallsMySqlMutationResolverTest::testResolveUpdateMultiTableReturnsMultiUpdateMutationcallsMySqlMutationResolverTest::testResolveUpdateUsesColumnsFromRegistryWhenStoreEmptycallsMySqlMutationResolverTest::testUpdateEnsuresTableInShadowStorecallsPgSqlMutationResolverTest::testPartitionDdlInheritsParentSchemaAndChildDmlUsesParentStoragecallsPgSqlMutationResolverTest::testResolveDeleteEnsuresShadowStorecallsPgSqlMutationResolverTest::testResolveInsertReturnsInsertMutationcallsPgSqlMutationResolverTest::testResolveInsertWithOnConflictDoNothingReturnsInsertMutationcallsPgSqlMutationResolverTest::testResolveUpsertApplyUpdatesExistingRowcallsPgSqlMutationResolverTest::testResolveUpsertConflictValuesPreservedcallsPgSqlMutationResolverTest::testResolveUpsertUsesPartialIndexPredicateForConflictDetectioncallsReferentialIntegrityEnforcerTest::testAcceptsExplicitReferenceToNonPrimaryCandidateKeycallsReferentialIntegrityEnforcerTest::testCompositeDeleteSetNullNormalizesEveryForeignKeyColumncallsReferentialIntegrityEnforcerTest::testCompositePrimaryKeyUpdateCascadesOnlyMatchingChildrencallsReferentialIntegrityEnforcerTest::testDeleteCascadePropagatesAcrossMultipleLevelscallsReferentialIntegrityEnforcerTest::testDeleteCascadeRemovesAllMatchingChildrenAndKeepsOtherscallsReferentialIntegrityEnforcerTest::testDeleteSetNullCarriesOriginalRowIntoNextLevelcallsReferentialIntegrityEnforcerTest::testDeleteSetNullUpdatesChildcallsReferentialIntegrityEnforcerTest::testExplicitReferencedColumnsAreNotReplacedByPrimaryKeycallsReferentialIntegrityEnforcerTest::testMatchingConstraintAfterUnrelatedConstraintStillCascadescallsReferentialIntegrityEnforcerTest::testMultiTruncateCascadesFromEveryChangedParentTablecallsReferentialIntegrityEnforcerTest::testPrimaryKeyUpdateCascadesThroughOriginalRowIdentitycallsReferentialIntegrityEnforcerTest::testRowsWithMissingPrimaryKeyCannotMatchRowsThatHaveTheKeycallsReferentialIntegrityEnforcerTest::testSchemaMutationDoesNotTriggerRowValidationcallsReferentialIntegrityEnforcerTest::testSchemaMutationSkipsRowIntegrityCheckscallsReferentialIntegrityEnforcerTest::testSynchronizeCascadesDeletedRowscallsInsertMutationResolverTest::testResolveInsertInsertOnConflictDoNothingIsIgnorecallsInsertMutationResolverTest::testResolveOnConflictConsumesNativeEvaluationMetadatacallsInsertMutationResolverTest::testResolveOnConflictDoNothingPreservesExistingRowcallsRowMutationResolverTest::testResolveDeleteEnsuresShadowStorecallsShadowApplicationTest::testApplyLeavesTheShadowAsItWasWhenTheStatementIsRefusedcallsShadowApplicationTest::testApplyWritesTheRowsAMutationDescribesIntoTheShadowcallsShadowSavepointTest::testOfRemembersTheRowsAsTheyWereRatherThanAsTheyBecomecallsShadowSavepointTest::testRestoreIntoLeavesTheTablesAloneWhereNothingIsDescribingThemcallsShadowStoreTest::testDeleteFallsBackToRowMatchWithoutPrimaryKeyscallsShadowStoreTest::testDeleteNoOpWhenTableMissingcallsShadowStoreTest::testDeleteUsesPrimaryKeysWhenProvidedcallsShadowStoreTest::testEnsureCreatesEmptyTablecallsShadowStoreTest::testGetReturnsEmptyArrayForMissingTablecallsShadowStoreTest::testHasDistinguishesMissingFromIntentionallyEmptyTablecallsShadowStoreTest::testInsertAppendsRowscallsShadowStoreTest::testRemoveClearsRowsAndInitializationcallsShadowStoreTest::testRestoreSnapshotRestoreSnapshotRestoreIncludesRowsAndInitializedPresencecallsShadowStoreTest::testSetPreservesTheCallersSparseRowKeyscallsShadowStoreTest::testSnapshotPreservesOpaqueValuesAndSparseKeysThroughUpdatescallsShadowStoreTest::testUpdateIdentifiedWritesTheRowTheOldKeyPointsAtcallsShadowStoreTest::testUpdateNoOpWhenNoMatchcallsShadowStoreTest::testUpdateReplacesMatchingRowcallsShadowTransactionsTest::testBeginIsIgnoredWhereATransactionHasAlreadyBeguncallsShadowTransactionsTest::testCommitLeavesNothingToRollBackTocallsShadowTransactionsTest::testPositionOfIsNothingForANameNothingWasDeclaredUndercallsShadowTransactionsTest::testReleaseGivesUpTheSavepointAndEveryNestedOneWithoutUndoingAnythingcallsShadowTransactionsTest::testRollBackPutsBackTheRowsTheTablesAndWhatDescribesThemcallsShadowTransactionsTest::testRollBackToKeepsTheSavepointAndGivesUpEveryLaterOnecallsShadowTransactionsTest::testRollBackToLeavesItsTargetToBeRolledBackToAgaincallsShadowTransactionsTest::testSavepointDeclaredTwiceUnderOneNameTakesThePlaceOfTheFirstcallsSqliteMutationResolverTest::testAlterRenameTableBuildsMigrationProjectionAndMovesDefinitioncallsSqliteMutationResolverTest::testResolveDeleteEnsuresShadowStorecallsSqliteMutationResolverTest::testResolveInsertOnConflictDoNothingIsIgnorecallsStatementSimulatorTest::testWriteStatementUpdatesShadowStorecallsMySqlTransactionStatementParserTest::testAppliesUnescapedMySqlSavepointNamecallsPgSqlTransactionStatementParserTest::testAppliesUnescapedPostgresSavepointNamecallsSqliteTransactionStatementParserTest::testAppliesUnescapedSqliteSavepointNamecallsTransactionStatementParserTest::testParseReadsAStatementThatOpensATransactioncallsTransactionStatementTest::testBeginStartsATransactionARollbackCanGoBackTocallsTransactionStatementTest::testCommitKeepsEverythingTheTransactionDidcallsTransactionStatementTest::testReleaseCommitAppliesNamedTransactionLifecycleWithoutSqlcallsTransactionStatementTest::testRollbackAppliesRollbackcallsTransactionStatementTest::testRollbackToGoesBackToTheSavepointAndLeavesItDeclaredcallsZtdMysqliStatementTest::testExecuteAppliesRowsToTheShadowStorecallsZtdMysqliStatementTest::testExecuteReturnsFalseForNativeFailurescallsZtdMysqliTest::testAutocommitCommitsOrRollsBackTheShadowScopecallsZtdMysqliTest::testBegin_transactionCreatesAShadowRollbackScopecallsZtdMysqliTest::testCommitRetainsTheShadowRowscallsZtdMysqliTest::testReal_queryAppliesTransactionStatementscallsZtdMysqliTest::testRelease_savepointRemovesTheNativeAndShadowSavepointscallsZtdMysqliTest::testRollbackRestoresTheShadowSnapshotcallsZtdMysqliTest::testSavepointPreservesItsShadowSnapshotcalls
Called from 19
- method-call ZtdQuery\Shadow\ForeignKeyCascade::of() packages/ztd-query-core/src/Shadow/ForeignKeyCascade.php:73
- method-call ZtdQuery\Shadow\ForeignKeyIntegrity::assertHolds() packages/ztd-query-core/src/Shadow/ForeignKeyIntegrity.php:52
- method-call ZtdQuery\Shadow\Mutation\Row\InsertMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Row/InsertMutation.php:104
- method-call ZtdQuery\Shadow\Mutation\Row\ReplaceMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Row/ReplaceMutation.php:42
- method-call ZtdQuery\Shadow\Mutation\Row\UpdateMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Row/UpdateMutation.php:92
- method-call ZtdQuery\Shadow\Mutation\UpsertMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/UpsertMutation.php:119
- method-call ZtdQuery\Shadow\ParentKeyLookup::exists() packages/ztd-query-core/src/Shadow/ParentKeyLookup.php:40
- method-call ZtdQuery\Shadow\ShadowApplication::apply() packages/ztd-query-core/src/Shadow/ShadowApplication.php:58
- method-call ZtdQuery\Shadow\ShadowApplication::apply() packages/ztd-query-core/src/Shadow/ShadowApplication.php:83
- method-call ZtdQuery\Shadow\ShadowStore::insert() packages/ztd-query-core/src/Shadow/ShadowStore.php:170
- method-call ZtdQuery\Shadow\TableTransitions::of() packages/ztd-query-core/src/Shadow/TableTransitions.php:64
- method-call ZtdQuery\Shadow\TableTransitions::of() packages/ztd-query-core/src/Shadow/TableTransitions.php:65
- method-call ZtdQuery\Platform\MySql\Rewrite\Validation\ReplaceColumns::ensureReplaceColumns() packages/ztd-query-mysql/src/Rewrite/Validation/ReplaceColumns.php:42
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::resolveUpdate() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:66
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::resolveDelete() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:102
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::multiTableTargets() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:148
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\OperationApplier::applyRenameTable() packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/OperationApplier.php:80
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\StoredColumns::removeColumnFromStore() packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/StoredColumns.php:27
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\StoredColumns::renameColumnInStore() packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/StoredColumns.php:45
public function has(string $tableName): boolWhether the store contains a shadow entry for a table, including an intentionally empty table.
Parameters
$tableName | string |
Returns
boolTest cases 5
RenameResolverTest::testResolveAlterRenameTableMovesSchemaAndRowsAtApplycallsTableMutationResolverTest::testResolveDropTableRemovesOnlyTheTargetcallsShadowStoreTest::testHasDistinguishesMissingFromIntentionallyEmptyTablecallsShadowStoreTest::testRestoreSnapshotRestoreSnapshotRestoreIncludesRowsAndInitializedPresencecallsShadowTransactionsTest::testRollBackPutsBackTheRowsTheTablesAndWhatDescribesThemcalls
Called from 4
- method-call ZtdQuery\Shadow\ShadowStore::state() packages/ztd-query-core/src/Shadow/ShadowStore.php:88
- method-call ZtdQuery\Platform\MySql\Rewrite\Context\TableContext::tableExists() packages/ztd-query-mysql/src/Rewrite/Context/TableContext.php:120
- method-call ZtdQuery\Platform\Postgres\Rewrite\Context\TableContext::tableExists() packages/ztd-query-postgres/src/Rewrite/Context/TableContext.php:74
- method-call ZtdQuery\Platform\Sqlite\Rewrite\Context\ReferencedTableLookup::tableExists() packages/ztd-query-sqlite/src/Rewrite/Context/ReferencedTableLookup.php:62
Calls 1
- function-call
array_key_existsline 80
public function state(string $tableName): ShadowTableStateReturn the typed presence state for a shadow table.
Parameters
$tableName | string |
Returns
Test cases 11
MySqlRewriterTest::testUpdateDoesNotPromoteMaterializedUnknownTablecallsPgSqlRewriterTest::testUpdateDoesNotPromoteMaterializedUnknownTablecallsSqliteRewriterTest::testUpdateDoesNotPromoteMaterializedUnknownTablecallsMySqlMutationResolverTest::testMultiDeleteEnsuresTablesInStorecallsMySqlMutationResolverTest::testResolveMultiUpdateReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveUpdateUsesColumnsFromRegistryWhenStoreEmptycallsPgSqlMutationResolverTest::testResolveUpdateEnsuresShadowStorecallsRowMutationResolverTest::testResolveUpdateEnsuresShadowStoreWithDefinitioncallsShadowStoreTest::testRemoveClearsRowsAndInitializationcallsShadowStoreTest::testStateDistinguishesMutationMaterializationFromInitializationcallsSqliteMutationResolverTest::testResolveUpdateEnsuresShadowStoreWithDefinitioncalls
Called from 8
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::resolveUpdate() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:61
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::resolveDelete() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:114
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::multiTableTargets() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:141
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveUpdate() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:113
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveDelete() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:137
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveMerge() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:157
- method-call ZtdQuery\Platform\Sqlite\Shadow\Resolution\RowMutationResolver::resolveUpdate() packages/ztd-query-sqlite/src/Shadow/Resolution/RowMutationResolver.php:48
- method-call ZtdQuery\Platform\Sqlite\Shadow\Resolution\RowMutationResolver::resolveDelete() packages/ztd-query-sqlite/src/Shadow/Resolution/RowMutationResolver.php:72
Calls 4
- method-call ShadowStore::has() line 88
- class-const ShadowTableState::Missing() line 89
- class-const ShadowTableState::Initialized() line 93
- class-const ShadowTableState::Materialized() line 96
public function getAll(): array<string, array<int, Row>>Get all stored shadow tables.
Returns
array<string, array<int, Row>>Test cases 17
FullPipelineFuzzTest::testShadowStoreIntegrityAfterMultipleOperationscallsRewriteCheck::verifycallsShadowStoreConsistencyChecker::checkcallsFakeSqlRewriter::buildShadowContextcallsTableContextTest::testBuildTableContextIncludesShadowTablesAndViewscallsPgSqlRewriterTest::testRewriteDeleteEnsuresShadowStoreEntrycallsPgSqlRewriterTest::testRewriteInsertDoesNotCallEnsureDmlTargetcallsPgSqlRewriterTest::testRewriteUpdateEnsuresShadowStoreEntrycallsSqliteRewriterTest::testDeleteEnsuresShadowStoreEntrycallsSqliteRewriterTest::testUpdateEnsuresShadowStoreEntrycallsPgSqlMutationResolverTest::testResolveDeleteEnsuresShadowStoreEntrycallsPgSqlMutationResolverTest::testResolveUpdateEnsuresShadowStoreEntrycallsRowMutationResolverTest::testResolveDeleteEnsuresShadowStoreEntryCreatedcallsShadowStoreTest::testClearRemovesAllDatacallsShadowStoreTest::testGetAllReturnsCurrentTablescallsSqliteMutationResolverTest::testResolveDeleteEnsuresShadowStoreEntryCreatedcallsSqliteMutationResolverTest::testResolveUnknownUpdateDoesNotCreateShadowStoreEntrycalls
Called from 7
- method-call ZtdQuery\Shadow\TableTransitions::of() packages/ztd-query-core/src/Shadow/TableTransitions.php:60
- method-call ZtdQuery\Platform\MySql\Rewrite\Context\TableContext::buildTableContext() packages/ztd-query-mysql/src/Rewrite/Context/TableContext.php:52
- method-call ZtdQuery\Platform\MySql\Rewrite\Context\TableContext::hasSchemaContext() packages/ztd-query-mysql/src/Rewrite/Context/TableContext.php:140
- method-call ZtdQuery\Platform\Postgres\Rewrite\Context\TableContext::hasSchemaContext() packages/ztd-query-postgres/src/Rewrite/Context/TableContext.php:94
- method-call ZtdQuery\Platform\Postgres\Rewrite\StatementRewriter::rewriteStatement() packages/ztd-query-postgres/src/Rewrite/StatementRewriter.php:82
- method-call ZtdQuery\Platform\Sqlite\Rewrite\Context\ReferencedTableLookup::hasSchemaContext() packages/ztd-query-sqlite/src/Rewrite/Context/ReferencedTableLookup.php:86
- method-call ZtdQuery\Platform\Sqlite\Rewrite\StatementRewriter::rewriteStatement() packages/ztd-query-sqlite/src/Rewrite/StatementRewriter.php:66
public function clear(): voidRemove all shadow data.
Test cases 3
public function snapshot(): selfSnapshot.
Returns
selfTest cases 37
ShadowStoreBench::benchDeleteAndRestorecallsShadowStoreBench::benchUpdateAndRestorecallsDataMutationTest::testAMutationThatChangesNoRowsCarriesNothingToTheChildrencallsDataMutationTest::testAMutationThatChangesRowsCarriesItsConsequencesToTheChildrencallsReferentialIntegrityEnforcerTest::testAcceptsExplicitReferenceToNonPrimaryCandidateKeycallsReferentialIntegrityEnforcerTest::testCascadeNormalizesSparseChildRowIndexescallsReferentialIntegrityEnforcerTest::testCompositeDeleteSetNullNormalizesEveryForeignKeyColumncallsReferentialIntegrityEnforcerTest::testCompositePrimaryKeyUpdateCascadesOnlyMatchingChildrencallsReferentialIntegrityEnforcerTest::testDeleteCascadePropagatesAcrossMultipleLevelscallsReferentialIntegrityEnforcerTest::testDeleteCascadeRemovesAllMatchingChildrenAndKeepsOtherscallsReferentialIntegrityEnforcerTest::testDeleteRestrictRejectsParentRemovalcallsReferentialIntegrityEnforcerTest::testDeleteSetNullCarriesOriginalRowIntoNextLevelcallsReferentialIntegrityEnforcerTest::testDeleteSetNullUpdatesChildcallsReferentialIntegrityEnforcerTest::testEmptySelfReferentialCascadeTerminatesWithoutSyntheticEventscallsReferentialIntegrityEnforcerTest::testExplicitReferencedColumnsAreNotReplacedByPrimaryKeycallsReferentialIntegrityEnforcerTest::testFallbackContinuesAfterIdentityMatchedRowcallsReferentialIntegrityEnforcerTest::testFallbackReferencedPrimaryKeyAppearsInUpdateViolationcallsReferentialIntegrityEnforcerTest::testFallbackTransitionPropagatesUpdateAndDeleteFromOneTablecallsReferentialIntegrityEnforcerTest::testIdentityTransitionSkipsIncompleteChangeAndProcessesFollowingChangecallsReferentialIntegrityEnforcerTest::testMatchingConstraintAfterUnrelatedConstraintStillCascadescallsReferentialIntegrityEnforcerTest::testMissingReferencedValuesDoNotStopLaterUpdateOrDeleteCascadescallsReferentialIntegrityEnforcerTest::testMultiTruncateCascadesFromEveryChangedParentTablecallsReferentialIntegrityEnforcerTest::testPrimaryKeyUpdateCascadesThroughOriginalRowIdentitycallsReferentialIntegrityEnforcerTest::testRejectsInsertWhoseParentDoesNotExistcallsReferentialIntegrityEnforcerTest::testRetainedOldKeyDoesNotStopFollowingUpdateCascadecallsReferentialIntegrityEnforcerTest::testSchemaMutationDoesNotTriggerRowValidationcallsReferentialIntegrityEnforcerTest::testSchemaMutationSkipsRowIntegrityCheckscallsReferentialIntegrityEnforcerTest::testSynchronizeCascadesDeletedRowscallsReferentialIntegrityEnforcerTest::testUpdateCascadeCarriesOriginalRowIntoNextLevelcallsReferentialIntegrityEnforcerTest::testUpdateDoesNotCascadeWhileOldParentKeyStillExistscallsReferentialIntegrityEnforcerTest::testValidationContinuesPastMissingAndNullForeignKeyscallsShadowStoreTest::testRestoreSnapshotRestoreSnapshotRestoreIncludesRowsAndInitializedPresencecallsShadowStoreTest::testSnapshotIsARecordOfTheRowsRatherThanAViewOfThemcallsShadowStoreTest::testSnapshotPreservesOpaqueValuesAndSparseKeysThroughUpdatescallsTableTransitionsTest::testOfAnswersOneEntryPerTableSomethingHappenedTocallsTableTransitionsTest::testOfLeavesOutATableNothingHappenedTocallsTableTransitionsTest::testOfReadsTheResultRowsOnlyForTheTableAnUpdateNamescalls
public function restore(self $snapshot): voidRestore.
Parameters
$snapshot | self |
Test cases 4
public function ensure(string $tableName): voidEnsure a table key exists in the store.
Parameters
$tableName | string |
Test cases 59
MySqlRewriterTest::testRewriteUpsertUsesCandidateKeysForStoredTableContextcallsPgSqlRewriterTest::testSelectWithEmptyShadowGeneratesEmptyCtecallsPgSqlRewriterTest::testStoredTableUpsertProjectsConflictExpressioncallsSqliteRewriterTest::testBuildTableContextMergesColumnsFromMultipleRowscallsSqliteRewriterTest::testBuildTableContextShadowStoreEmptyRowsNoDefinitionPassesThroughcallsSqliteRewriterTest::testBuildTableContextSkipsAlreadyAddedFromShadowStorecallsSqliteRewriterTest::testBuildTableContextUsesDefinitionColumnscallsSqliteRewriterTest::testBuildTableContextWithShadowStoreColumnsInferredcallsSqliteRewriterTest::testDeleteFromBacktickQuotedTableReturnsSqlWhere0callsSqliteRewriterTest::testDeleteFromBracketQuotedTableReturnsSqlWhere0callsSqliteRewriterTest::testDeleteFromLowercaseReturnsSqlWhere0callsSqliteRewriterTest::testDeleteFromQuotedTableWithoutWhereReturnsSqlWhere0callsSqliteRewriterTest::testDeleteFromWithCommentsReturnsSqlWhere0callsSqliteRewriterTest::testDeleteFromWithoutWhereReturnsSqlWithSelectWhere0callsSqliteRewriterTest::testDeleteFromWithoutWhereReturnsWriteSimulatedcallsSqliteRewriterTest::testDeleteFromWithSemicolonAndWhitespacecallsSqliteRewriterTest::testDeleteReturnsWriteSimulatedWithMutationcallsSqliteRewriterTest::testDeleteWithWhereProducesTransformedSqlcallsSqliteRewriterTest::testHasSchemaContextWithShadowStoreOnlycallsSqliteRewriterTest::testInsertWithShadowDataProducesTransformedSqlcallsSqliteRewriterTest::testSelectExistingInShadowStoreIsNotUnknowncallsSqliteRewriterTest::testSelectTableInShadowStoreNotUnknowncallsSqliteRewriterTest::testSelectWithShadowDataColumnsInferredcallsSqliteRewriterTest::testSelectWithShadowDataIncludesCtecallsSqliteRewriterTest::testSelectWithShadowStoreAndRegistryTablesMergedcallsSqliteRewriterTest::testSelectWithShadowStoreOnlyHasSchemaContextcallsSqliteRewriterTest::testUpdateReturnsWriteSimulatedWithMutationcallsInsertMutationTest::testApplyInsertsToEmptyTablecallsMySqlMutationResolverTest::testResolveDeleteReturnsDeleteMutationcallsMySqlMutationResolverTest::testResolveUpdateReturnsUpdateMutationcallsPgSqlMutationResolverTest::testResolveMergeAcceptsInitializedTableWithoutReflectedSchemacallsPgSqlMutationResolverTest::testResolveMergeReturnsAtomicTableSynchronizationcallsRowMutationResolverTest::testResolveDeletecallsRowMutationResolverTest::testResolveDeleteFullTableLowercaseMatchesRegexcallsRowMutationResolverTest::testResolveDeleteFullTableWithoutWherecallsRowMutationResolverTest::testResolveDeleteLowercaseSqlcallsRowMutationResolverTest::testResolveDeleteTableNamecallsRowMutationResolverTest::testResolveDeleteWithExistingRowscallsRowMutationResolverTest::testResolveDeleteWithLeadingWhitespaceLowercasecallsRowMutationResolverTest::testResolveDeleteWithoutDefinitionButWithShadowRowscallsRowMutationResolverTest::testResolveUpdatecallsRowMutationResolverTest::testResolveUpdateWithoutDefinitionHasEmptyPrimaryKeyscallsRowMutationResolverTest::testResolveUpdateWithoutDefinitionReturnsEmptyPrimaryKeyscallsRowMutationResolverTest::testResolveUpdateWithPrimaryKeyscallsShadowStoreTest::testEnsureCreatesEmptyTablecallsShadowStoreTest::testHasDistinguishesMissingFromIntentionallyEmptyTablecallsShadowStoreTest::testStateDistinguishesMutationMaterializationFromInitializationcallsSqliteMutationResolverTest::testResolveDeletecallsSqliteMutationResolverTest::testResolveDeleteFullTableLowercaseMatchesRegexcallsSqliteMutationResolverTest::testResolveDeleteFullTableWithoutWherecallsSqliteMutationResolverTest::testResolveDeleteLowercaseSqlcallsSqliteMutationResolverTest::testResolveDeleteTableNamecallsSqliteMutationResolverTest::testResolveDeleteWithExistingRowscallsSqliteMutationResolverTest::testResolveDeleteWithLeadingWhitespaceLowercasecallsSqliteMutationResolverTest::testResolveDeleteWithoutDefinitionButWithShadowRowscallsSqliteMutationResolverTest::testResolveUpdatecallsSqliteMutationResolverTest::testResolveUpdateWithoutDefinitionHasEmptyPrimaryKeyscallsSqliteMutationResolverTest::testResolveUpdateWithoutDefinitionReturnsEmptyPrimaryKeyscallsSqliteMutationResolverTest::testResolveUpdateWithPrimaryKeyscalls
Called from 9
- method-call ZtdQuery\Shadow\Mutation\Table\CreateTableLikeMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Table/CreateTableLikeMutation.php:64
- method-call ZtdQuery\Shadow\Mutation\Table\CreateTableMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Table/CreateTableMutation.php:64
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::resolveUpdate() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:65
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::resolveDelete() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:118
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::multiTableTargets() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:152
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveUpdate() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:118
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveDelete() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:142
- method-call ZtdQuery\Platform\Sqlite\Shadow\Resolution\RowMutationResolver::resolveUpdate() packages/ztd-query-sqlite/src/Shadow/Resolution/RowMutationResolver.php:52
- method-call ZtdQuery\Platform\Sqlite\Shadow\Resolution\RowMutationResolver::resolveDelete() packages/ztd-query-sqlite/src/Shadow/Resolution/RowMutationResolver.php:76
public function remove(string $tableName): voidRemove both rows and explicit table context from the store.
Parameters
$tableName | string |
Test cases 1
Called from 2
- method-call ZtdQuery\Shadow\Mutation\Table\DropTableMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Table/DropTableMutation.php:58
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\AlterTableMutation::apply() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/AlterTableMutation.php:44
public function insert(string $tableName, array<int, Row> $rows): voidAppend rows to a table shadow set.
Parameters
$tableName | string | |
$rows | array<int, Row> |
Test cases 35
ClassAliasesTest::testLegacyTransactionNameRollsBackRowscallsMySqlRewriterTest::testUpdateDoesNotPromoteMaterializedUnknownTablecallsPgSqlRewriterTest::testUpdateDoesNotPromoteMaterializedUnknownTablecallsSqliteRewriterTest::testBuildTableContextMergesColumnsFromMultipleRowscallsSqliteRewriterTest::testBuildTableContextUsesDefinitionColumnscallsSqliteRewriterTest::testHasSchemaContextWithShadowStoreOnlycallsSqliteRewriterTest::testInsertWithShadowDataProducesTransformedSqlcallsSqliteRewriterTest::testSelectWithShadowDataColumnsInferredcallsSqliteRewriterTest::testSelectWithShadowDataIncludesCtecallsSqliteRewriterTest::testSelectWithShadowStoreOnlyHasSchemaContextcallsSqliteRewriterTest::testUpdateDoesNotPromoteMaterializedUnknownTablecallsMySqlMutationResolverTest::testUpdateDoesNotTreatRowsFromUnknownInsertAsSchemacallsPgSqlMutationResolverTest::testUpdateDoesNotTreatRowsFromUnknownInsertAsSchemacallsShadowStoreTest::testInsertAppendsRowscallsShadowStoreTest::testRestoreSnapshotRestoreSnapshotRestoreIncludesRowsAndInitializedPresencecallsShadowStoreTest::testStateDistinguishesMutationMaterializationFromInitializationcallsShadowTransactionsTest::testPositionOfIsNothingForANameNothingWasDeclaredUndercallsShadowTransactionsTest::testReleaseGivesUpTheSavepointAndEveryNestedOneWithoutUndoingAnythingcallsShadowTransactionsTest::testRollBackPutsBackTheRowsTheTablesAndWhatDescribesThemcallsShadowTransactionsTest::testRollBackToKeepsTheSavepointAndGivesUpEveryLaterOnecallsShadowTransactionsTest::testRollBackToLeavesItsTargetToBeRolledBackToAgaincallsShadowTransactionsTest::testSavepointDeclaredTwiceUnderOneNameTakesThePlaceOfTheFirstcallsSqliteMutationResolverTest::testUpdateDoesNotTreatRowsFromUnknownInsertAsSchemacallsMySqlTransactionStatementParserTest::testAppliesUnescapedMySqlSavepointNamecallsPgSqlTransactionStatementParserTest::testAppliesUnescapedPostgresSavepointNamecallsSqliteTransactionStatementParserTest::testAppliesUnescapedSqliteSavepointNamecallsTransactionStatementTest::testReleaseCommitAppliesNamedTransactionLifecycleWithoutSqlcallsTransactionStatementTest::testRollbackAppliesRollbackcallsZtdMysqliTest::testAutocommitCommitsOrRollsBackTheShadowScopecallsZtdMysqliTest::testBegin_transactionCreatesAShadowRollbackScopecallsZtdMysqliTest::testCommitRetainsTheShadowRowscallsZtdMysqliTest::testReal_queryAppliesTransactionStatementscallsZtdMysqliTest::testRelease_savepointRemovesTheNativeAndShadowSavepointscallsZtdMysqliTest::testRollbackRestoresTheShadowSnapshotcallsZtdMysqliTest::testSavepointPreservesItsShadowSnapshotcalls
Called from 2
Calls 3
- method-call ShadowStore::get() line 170
- new RowSet line 171
- function-call
array_mergeline 171
public function delete(
string $tableName,
array<int, Row> $deletedRows,
array<int, string> $primaryKeys = [],
): voidDelete rows from the shadow set.
Parameters
$tableName | string | |
$deletedRows | array<int, Row> | |
$primaryKeys | array<int, string> |
Test cases 4
Called from 2
Calls 2
- method-call RowMatch::identifies() line 192
- new RowSet line 203
public function update(
string $tableName,
array<int, Row> $updatedRows,
array<int, string> $primaryKeys,
): voidUpdate rows matched by primary keys.
Parameters
$tableName | string | |
$updatedRows | array<int, Row> | |
$primaryKeys | array<int, string> |
Throws
MissingPrimaryKeyException When the table declares no key to identify a row byTest cases 5
Calls 3
- new MissingPrimaryKeyException line 221
- method-call RowMatch::identifies() line 228
- new RowSet line 235
public function updateIdentified(
string $tableName,
list<array{row: Row, identity: Row}> $updates,
array<int, string> $primaryKeys,
): voidParameters
Throws
MissingPrimaryKeyException When the table declares no key to identify a row byTest cases 1
Called from 2
Calls 3
- new MissingPrimaryKeyException line 250
- method-call RowMatch::identifies() line 256
- new RowSet line 263
Private surface 3§
Implementation details, listed for orientation only.
private RowMatch $match = new \ZtdQuery\Shadow\Row\RowMatch()private array<string, RowSet> $fixtures = []private array<string, string> $initializedTables = []Test cases 1354§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 19
ShadowStoreTest::testClearRemovesAllDatacallsShadowStoreTest::testDeleteFallsBackToRowMatchWithoutPrimaryKeyscallsShadowStoreTest::testDeleteNoOpWhenTableMissingcallsShadowStoreTest::testDeleteUsesPrimaryKeysWhenProvidedcallsShadowStoreTest::testEnsureCreatesEmptyTablecallsShadowStoreTest::testGetAllReturnsCurrentTablescallsShadowStoreTest::testGetReturnsEmptyArrayForMissingTablecallsShadowStoreTest::testHasDistinguishesMissingFromIntentionallyEmptyTablecallsShadowStoreTest::testInsertAppendsRowscallsShadowStoreTest::testRemoveClearsRowsAndInitializationcallsShadowStoreTest::testRestoreSnapshotRestoreSnapshotRestoreIncludesRowsAndInitializedPresencecallsShadowStoreTest::testSetPreservesTheCallersSparseRowKeyscallsShadowStoreTest::testSnapshotIsARecordOfTheRowsRatherThanAViewOfThemcallsShadowStoreTest::testSnapshotPreservesOpaqueValuesAndSparseKeysThroughUpdatescallsShadowStoreTest::testStateDistinguishesMutationMaterializationFromInitializationcallsShadowStoreTest::testUpdateIdentifiedWritesTheRowTheOldKeyPointsAtcallsShadowStoreTest::testUpdateNoOpWhenNoMatchcallsShadowStoreTest::testUpdateReplacesMatchingRowcallsShadowStoreTest::testUpdateWithoutPrimaryKeysThrowscalls
Other tests reaching this symbol 1335
RewriterBench::setUpcallsShadowStoreBench::benchDeleteAndRestorecallsShadowStoreBench::benchUpdateAndRestorecallsShadowStoreBench::setUpcallsFullPipelineFuzzTest::testCreateTableRewriteRegistersThenDmlSucceedscallsFullPipelineFuzzTest::testCreateTableThenDeleteDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenInsertDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenSelectDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenUpdateDoesNotCrashcallsFullPipelineFuzzTest::testShadowStoreIntegrityAfterMultipleOperationscallsRewriteCheck::verifycallsRewriteFuzzTest::setUpcallsShadowStoreConsistencyChecker::checkcallsRewriteTarget::__invokecallsRobustnessTarget::__invokecallsSemanticsTarget::__invokecallsStateComparison::comparecallsMutationContractTest::testDeleteDecreasesRowCountcallsMutationContractTest::testDeleteOnEmptyTablecallsMutationContractTest::testIdempotentTruncatecallsMutationContractTest::testInsertIncreasesRowCountcallsMutationContractTest::testInsertIntoEmptyTablecallsMutationContractTest::testInsertWithEmptyStringValuescallsMutationContractTest::testInsertWithNullValuescallsMutationContractTest::testMutationTableIsolationcallsMutationContractTest::testTruncateEmptiesTablecallsMutationContractTest::testUpdateOnEmptyTablecallsMutationContractTest::testUpdatePreservesRowCountcallsRewriterContractTest::buildRewritercallsRewriterContractTest::testDeleteReturnsWriteSimulatedWithMutationcallsRewriterContractTest::testRewriteIsDeterministiccallsRewriterContractTest::testUpdateReturnsWriteSimulatedWithMutationcallsFakeSessionFactory::createcallsFakeSqlRewriter::buildShadowContextcallsClassAliasesTest::testLegacyNamesConstructWorkingSchemaAndMutationObjectscallsClassAliasesTest::testLegacyTransactionNameRollsBackRowscallsReferencedTableLookupTest::testAssertKnownTablesPermitsQueriesBeforeFixtureRegistrationcallsReferencedTableLookupTest::testAssertKnownTablesRejectsUnknownSourcesWhenContextExistscallsReferencedTableLookupTest::testFindUnknownTableIgnoresUserCtesAndFindsUnknownJoinSourcescallsReferencedTableLookupTest::testHasSchemaContextIncludesViewscallsReferencedTableLookupTest::testTableExistsRecognizesEachSchemaStatecallsTableContextTest::testApplyPartitionsUsesSharedParentRowscallsTableContextTest::testBuildTableContextcallsTableContextTest::testBuildTableContextIncludesShadowTablesAndViewscallsTableContextTest::testDataContextInfersTheUnionOfUnknownRowColumnscallsTableContextTest::testFillDefinitionsRetainsExistingRowsAndAddsUnmaterializedTablescallsTableContextTest::testFindUnknownTablecallsTableContextTest::testHasSchemaContextcallsTableContextTest::testHasSchemaContextTracksMutableRegistryStatecallsTableContextTest::testRequireKnownTablescallsTableContextTest::testTableExistscallsTableContextTest::testTableExistsIncludesRegisteredMaterializedAndViewNamescallsMySqlRewriterTest::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::testWritePlanHasNonNullMutationcallsPgSqlRewriterTest::testAlterTableThrowsUnsupportedcallsPgSqlRewriterTest::testBuildTableContextMergesRegistryAndShadowcallsPgSqlRewriterTest::testBuildTableContextRegistryAndShadowBothIncludedcallsPgSqlRewriterTest::testBuildTableContextRegistryOnlyNoShadowcallsPgSqlRewriterTest::testBuildTableContextShadowOnlyDerivesDifferentColumnsAcrossRowscallsPgSqlRewriterTest::testBuildTableContextShadowOnlyDifferentColumnKeyscallsPgSqlRewriterTest::testBuildTableContextShadowOnlyDifferentColumnKeysDetailedcallsPgSqlRewriterTest::testBuildTableContextShadowOnlyWithEmptyRowsNoCtecallsPgSqlRewriterTest::testBuildTableContextShadowOnlyWithRowsDeriveColumnscallsPgSqlRewriterTest::testChildPartitionSelectUsesFilteredParentShadowSourcecallsPgSqlRewriterTest::testChildPartitionWriteMutationTargetsRootParentcallsPgSqlRewriterTest::testCommitIsSkippedcallsPgSqlRewriterTest::testCommitRewriteStateRetainsAllocatedSequenceValuescallsPgSqlRewriterTest::testCreateTableAsSelectNoShadowReturnsSqlWhereFalsecallsPgSqlRewriterTest::testCreateTableAsSelectReturnsDdlWithTransformedSqlcallsPgSqlRewriterTest::testCreateTableAsSelectTransformsSelectPartcallsPgSqlRewriterTest::testCreateTableAsSelectWithRegisteredSourceTablecallsPgSqlRewriterTest::testCreateTableNotAsSelectReturnsSqlWhereFalsecallsPgSqlRewriterTest::testCreateTableReturnsDdlSimulatedcallsPgSqlRewriterTest::testCreateTableReturnsSelectOneWhereFalsecallsPgSqlRewriterTest::testCreateTableWithoutAsSelectReturnsSqlWhereFalsecallsPgSqlRewriterTest::testCteReferencesAreMatchedCaseInsensitivelyDuringSchemaValidationcallsPgSqlRewriterTest::testDefaultPartitionExcludesOnlySpecificSiblingsOfSameParentcallsPgSqlRewriterTest::testDeleteEnsuresDmlTargetInShadowStorecallsPgSqlRewriterTest::testDeleteEnsuresDmlTargetIsCalledForDeletecallsPgSqlRewriterTest::testDeleteEnsuresDmlTargetViaShadowStorecallsPgSqlRewriterTest::testDeleteMutationTableNamecallsPgSqlRewriterTest::testDeleteResolvesTargetAfterBlockCommentcallsPgSqlRewriterTest::testDeleteReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testDeleteSqlIsTransformedcallsPgSqlRewriterTest::testDoBlockPassesThroughWithoutInspectingBodyTablescallsPgSqlRewriterTest::testDropTableReturnsDdlSimulatedcallsPgSqlRewriterTest::testDropTableReturnsSelectOneWhereFalsecallsPgSqlRewriterTest::testDropTableThenCreateDoesNotThrowcallsPgSqlRewriterTest::testEmptyInputThrowsExceptioncallsPgSqlRewriterTest::testEmptyResultSelectProducesNoRowscallsPgSqlRewriterTest::testExplainPassesThroughUnchangedcallsPgSqlRewriterTest::testGeneratedExpressionIsPresentBeforeTheFirstShadowWritecallsPgSqlRewriterTest::testInsertDoesNotCallEnsureDmlTargetcallsPgSqlRewriterTest::testInsertMutationTableNamecallsPgSqlRewriterTest::testInsertResolvesTargetAfterBlockCommentcallsPgSqlRewriterTest::testInsertResultSelectContainsColumnNamescallsPgSqlRewriterTest::testInsertReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testInsertRewriteOutputContainsSelectcallsPgSqlRewriterTest::testInsertSqlIsTransformedcallsPgSqlRewriterTest::testLateralDerivedTableKeepsNestedPhysicalRelationInShadowScopecallsPgSqlRewriterTest::testMergeBuildsAtomicSynchronizationPlancallsPgSqlRewriterTest::testMultiStatementThrowsExceptioncallsPgSqlRewriterTest::testNestedPartitionInsertAllocatesIdentityFromRootRowscallsPgSqlRewriterTest::testReadPlanHasNoMutationcallsPgSqlRewriterTest::testRegisteredTableUpsertProjectsConflictExpressioncallsPgSqlRewriterTest::testRegisteredViewIsKnownAndMaterializedcallsPgSqlRewriterTest::testRewriteCreateTableAsSelectNonCreateStatementDoesNotEnterCtasBranchcallsPgSqlRewriterTest::testRewriteDeleteEnsuresShadowStoreEntrycallsPgSqlRewriterTest::testRewriteDeleteReturnsWriteSimulatedcallsPgSqlRewriterTest::testRewriteDropTableReturnsSelectWhereFalsecallsPgSqlRewriterTest::testRewriteEmptyInputForRewriteMultipleThrowscallsPgSqlRewriterTest::testRewriteInsertDoesNotCallEnsureDmlTargetcallsPgSqlRewriterTest::testRewriteInsertReturnsWriteSimulatedcallsPgSqlRewriterTest::testRewriteInsertUsesDefaultsFromRegistryWithoutShadowRowscallsPgSqlRewriterTest::testRewriteInsertUsesIdentityStrategyFromRegistryWithoutShadowRowscallsPgSqlRewriterTest::testRewriteIsDeterministiccallsPgSqlRewriterTest::testRewriteLeadingWhitespaceTrimsBeforeClassifycallsPgSqlRewriterTest::testRewriteMultiplecallsPgSqlRewriterTest::testRewriteMultipleAllReadStatementscallsPgSqlRewriterTest::testRewriteMultipleEmptycallsPgSqlRewriterTest::testRewriteMultipleEmptyStringThrowscallsPgSqlRewriterTest::testRewriteMultipleLeadingWhitespaceTrimsBeforeClassifycallsPgSqlRewriterTest::testRewriteMultipleMultiStatementcallsPgSqlRewriterTest::testRewriteMultipleSingleStatementcallsPgSqlRewriterTest::testRewriteMultipleWhitespaceOnlyThrowscallsPgSqlRewriterTest::testRewriteMultipleWithDdlcallsPgSqlRewriterTest::testRewriteMultipleWithLeadingTrailingWhitespaceProducesValidSqlcallsPgSqlRewriterTest::testRewriteMultipleWithLeadingWhitespacecallsPgSqlRewriterTest::testRewriteMultipleWithOnlyWhitespaceThrowsAfterTrimcallsPgSqlRewriterTest::testRewriteOutputIsNonEmptycallsPgSqlRewriterTest::testRewriteUpdateEnsuresShadowStoreEntrycallsPgSqlRewriterTest::testRewriteUpdateReturnsWriteSimulatedcallsPgSqlRewriterTest::testRewriteWhitespaceOnlyThrowscallsPgSqlRewriterTest::testRewriteWithLeadingTrailingWhitespaceProducesValidSqlcallsPgSqlRewriterTest::testRewriteWithLeadingWhitespacecallsPgSqlRewriterTest::testRewriteWithLeadingWhitespaceTrimsFirstcallsPgSqlRewriterTest::testRewriteWithOnlyWhitespaceThrowsAfterTrimcallsPgSqlRewriterTest::testRollbackIsSkippedcallsPgSqlRewriterTest::testSchemaQualifiedSelectUsesShadowCtecallsPgSqlRewriterTest::testSelectIgnoresSqlKeywordsInsideLeadingLineCommentcallsPgSqlRewriterTest::testSelectReturnsReadKindcallsPgSqlRewriterTest::testSelectRewritesTableAfterBlockCommentcallsPgSqlRewriterTest::testSelectTableExistsInBothRegistryAndShadowcallsPgSqlRewriterTest::testSelectTableExistsInRegistryOnlycallsPgSqlRewriterTest::testSelectTableExistsInShadowStoreNotRegistrycallsPgSqlRewriterTest::testSelectTransformsCteWithShadowDatacallsPgSqlRewriterTest::testSelectUnknownTableWithSchemaContextThrowscallsPgSqlRewriterTest::testSelectUnknownTableWithShadowContextThrowscallsPgSqlRewriterTest::testSelectWithEmptyShadowGeneratesEmptyCtecallsPgSqlRewriterTest::testSelectWithMultiRowShadowUsesValuescallsPgSqlRewriterTest::testSelectWithNoSchemaContextPassesThroughcallsPgSqlRewriterTest::testSelectWithShadowOnlyDataDerivesColumnscallsPgSqlRewriterTest::testSelectWithShadowOnlyDataMergesColumnsAcrossRowscallsPgSqlRewriterTest::testSelectWithShadowOnlyHasSchemaContextcallsPgSqlRewriterTest::testShowPassesThroughUnchangedcallsPgSqlRewriterTest::testSkippedStatementPassesThroughcallsPgSqlRewriterTest::testSplitStatementsPreservesQuotedSemicolonscallsPgSqlRewriterTest::testStoredTableUpsertProjectsConflictExpressioncallsPgSqlRewriterTest::testTableFunctionDoesNotHideJoinedShadowRelationcallsPgSqlRewriterTest::testTransactionStatementParsesShadowTransactionOperationscallsPgSqlRewriterTest::testTruncateMutationTableNamecallsPgSqlRewriterTest::testTruncateReturnsSelectOneWhereFalsecallsPgSqlRewriterTest::testTruncateReturnsSelectWhereFalsecallsPgSqlRewriterTest::testTruncateReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testUnknownTableAfterDeclaredCteIsRejectedcallsPgSqlRewriterTest::testUnsupportedSqlThrowsExceptioncallsPgSqlRewriterTest::testUpdateDoesNotPromoteMaterializedUnknownTablecallsPgSqlRewriterTest::testUpdateEnsuresDmlTargetInShadowStorecallsPgSqlRewriterTest::testUpdateEnsuresDmlTargetIsCalledForUpdatecallsPgSqlRewriterTest::testUpdateEnsuresDmlTargetViaShadowStorecallsPgSqlRewriterTest::testUpdateMutationTableNamecallsPgSqlRewriterTest::testUpdatePreservesDollarQuotedStringBeforeWherecallsPgSqlRewriterTest::testUpdatePreservesDoubledQuoteStringBeforeWherecallsPgSqlRewriterTest::testUpdatePreservesEscapeStringBeforeWherecallsPgSqlRewriterTest::testUpdateResolvesTargetAfterBlockCommentcallsPgSqlRewriterTest::testUpdateReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testUpdateSqlIsTransformedcallsPgSqlRewriterTest::testWritePlanHasNonNullMutationcallsSqliteRewriterTest::testAlterTableUsesShadowedMigrationSelectcallsSqliteRewriterTest::testBuildTableContextIncludesMultipleTablesFromRegistrycallsSqliteRewriterTest::testBuildTableContextMergesColumnsFromMultipleRowscallsSqliteRewriterTest::testBuildTableContextRegistryOnlyTableIncludedcallsSqliteRewriterTest::testBuildTableContextShadowStoreEmptyRowsNoDefinitionPassesThroughcallsSqliteRewriterTest::testBuildTableContextSkipsAlreadyAddedFromShadowStorecallsSqliteRewriterTest::testBuildTableContextUsesDefinitionColumnscallsSqliteRewriterTest::testBuildTableContextWithShadowStoreColumnsInferredcallsSqliteRewriterTest::testCommitRewriteStateKeepsGeneratedIdentitiesAcrossRewritescallsSqliteRewriterTest::testCreateTableReturnsDdlSimulatedcallsSqliteRewriterTest::testCteReferencesAreMatchedCaseInsensitivelyDuringSchemaValidationcallsSqliteRewriterTest::testDdlSimulatedReturnsSqlSelectWhere0callsSqliteRewriterTest::testDeleteEnsuresShadowStorecallsSqliteRewriterTest::testDeleteEnsuresShadowStoreCalledOnTargetcallsSqliteRewriterTest::testDeleteEnsuresShadowStoreEntrycallsSqliteRewriterTest::testDeleteEnsuresShadowStoreForTargetTablecallsSqliteRewriterTest::testDeleteFromBacktickQuotedTableReturnsSqlWhere0callsSqliteRewriterTest::testDeleteFromBracketQuotedTableReturnsSqlWhere0callsSqliteRewriterTest::testDeleteFromLowercaseReturnsSqlWhere0callsSqliteRewriterTest::testDeleteFromQuotedTableWithoutWhereReturnsSqlWhere0callsSqliteRewriterTest::testDeleteFromWithCommentsReturnsSqlWhere0callsSqliteRewriterTest::testDeleteFromWithoutWhereReturnsSqlWithSelectWhere0callsSqliteRewriterTest::testDeleteFromWithoutWhereReturnsWriteSimulatedcallsSqliteRewriterTest::testDeleteFromWithSemicolonAndWhitespacecallsSqliteRewriterTest::testDeleteResolvesTargetAfterBlockCommentcallsSqliteRewriterTest::testDeleteReturnsWriteSimulatedWithMutationcallsSqliteRewriterTest::testDeleteWithWhereProducesTransformedSqlcallsSqliteRewriterTest::testDropTableReturnsDdlSimulatedcallsSqliteRewriterTest::testEmptyInputThrowsExceptioncallsSqliteRewriterTest::testEmptyResultSelectProducesNoRowscallsSqliteRewriterTest::testGeneratedExpressionIsPresentBeforeTheFirstShadowWritecallsSqliteRewriterTest::testHasSchemaContextWithRegistryOnlycallsSqliteRewriterTest::testHasSchemaContextWithShadowStoreOnlycallsSqliteRewriterTest::testInMemoryAttachPassesThroughUnchangedcallsSqliteRewriterTest::testInsertDoesNotEnsureShadowStoreForTargetTablecallsSqliteRewriterTest::testInsertOnConflictReturnsUpsertMutationcallsSqliteRewriterTest::testInsertOrReplaceReturnsWriteSimulatedWithReplaceMutationcallsSqliteRewriterTest::testInsertResolvesTargetAfterBlockCommentcallsSqliteRewriterTest::testInsertReturnsWriteSimulatedWithMutationcallsSqliteRewriterTest::testInsertRewriteOutputContainsSelectcallsSqliteRewriterTest::testInsertUsesDefaultsFromRegistryWithoutShadowRowscallsSqliteRewriterTest::testInsertUsesIdentityStrategyFromRegistryWithoutShadowRowscallsSqliteRewriterTest::testInsertWithShadowDataProducesTransformedSqlcallsSqliteRewriterTest::testMultiStatementThrowsExceptioncallsSqliteRewriterTest::testPersistentAttachRemainsUnsupportedcallsSqliteRewriterTest::testReadOnlyDiagnosticsPassThroughUnchangedcallsSqliteRewriterTest::testReadPlanHasNoMutationcallsSqliteRewriterTest::testRegisteredViewIsKnownAndMaterializedcallsSqliteRewriterTest::testRemovedTableIsShadowedInsteadOfFallingThroughcallsSqliteRewriterTest::testReplaceReturnsWriteSimulatedWithMutationcallsSqliteRewriterTest::testRewriteIsDeterministiccallsSqliteRewriterTest::testRewriteMultiplecallsSqliteRewriterTest::testRewriteMultipleEmptyThrowscallsSqliteRewriterTest::testRewriteOutputIsNonEmptycallsSqliteRewriterTest::testSchemaQualifiedSelectUsesShadowCtecallsSqliteRewriterTest::testSelectExistingInShadowStoreIsNotUnknowncallsSqliteRewriterTest::testSelectIgnoresSqlKeywordsInsideLeadingLineCommentcallsSqliteRewriterTest::testSelectKnownTableNoSchemaContextDoesNotThrowcallsSqliteRewriterTest::testSelectReturnsReadKindcallsSqliteRewriterTest::testSelectRewritesTableAfterBlockCommentcallsSqliteRewriterTest::testSelectTableInShadowStoreNotUnknowncallsSqliteRewriterTest::testSelectUnknownTableWithSchemaContextThrowscallsSqliteRewriterTest::testSelectWithMultipleRegisteredTablesIncludesAllcallsSqliteRewriterTest::testSelectWithRegistryOnlyBuildTableContextcallsSqliteRewriterTest::testSelectWithShadowDataColumnsInferredcallsSqliteRewriterTest::testSelectWithShadowDataIncludesCtecallsSqliteRewriterTest::testSelectWithShadowStoreAndRegistryTablesMergedcallsSqliteRewriterTest::testSelectWithShadowStoreOnlyHasSchemaContextcallsSqliteRewriterTest::testSplitStatementsPreservesQuotedSemicolonscallsSqliteRewriterTest::testTransactionStatementRestoresSnapshotOnRollbackcallsSqliteRewriterTest::testUnknownTableAfterDeclaredCteIsRejectedcallsSqliteRewriterTest::testUnsupportedSqlThrowsExceptioncallsSqliteRewriterTest::testUpdateDoesNotPromoteMaterializedUnknownTablecallsSqliteRewriterTest::testUpdateEnsuresShadowStorecallsSqliteRewriterTest::testUpdateEnsuresShadowStoreCalledOnTargetcallsSqliteRewriterTest::testUpdateEnsuresShadowStoreEntrycallsSqliteRewriterTest::testUpdateEnsuresShadowStoreForTargetTablecallsSqliteRewriterTest::testUpdateResolvesTargetAfterBlockCommentcallsSqliteRewriterTest::testUpdateReturnsWriteSimulatedWithMutationcallsSqliteRewriterTest::testWritePlanHasNonNullMutationcallsSqlRewriterTest::testEmptyResultSelectAnswersAStatementThatYieldsNoRowscallsSqlRewriterTest::testRewriteAnswersAPlanForTheStatementItWasGivencallsSqlRewriterTest::testRewriteAnswersASimulatedWriteForAStatementThatWouldChangeSomethingcallsSqlRewriterTest::testRewriteMultipleAnswersOnePlanPerStatementOfABatchcallsSqlRewriterTest::testSplitStatementsAnswersTheStatementsABatchIsWrittenAscallsSqlRewriterTest::testTransactionStatementIsNothingForAStatementThatIsNotOnecallsStatementRewriterTest::testMutationStatementcallsStatementRewriterTest::testRewriteMutationStagesDdlUntilItIsAppliedcallsStatementRewriterTest::testRewriteStatementcallsStatementRewriterTest::testRewriteStatementRejectsUnknownReadSourcescallsStatementRewriterTest::testRewriteStatementShadowsRegisteredTablescallsStatementRewriterTest::testRewriteStatementSimulatesWritesWithoutApplyingThemcallsStatementRewriterTest::testRewriteStatementUsesShadowRowsForReadscallsStatementRewriterTest::testValidateReadTablesRejectsUndeclaredRelationscallsMySqlTransformerTest::testCommitRewriteStatecallsReplaceColumnsTest::testEnsureReplaceColumnscallsMysqliResultProcessorTest::testProcessCreatesAnEmptyWriteResultcallsMysqliResultProcessorTest::testProcessPreservesTheOriginalDatabaseExceptioncallsMysqliResultProcessorTest::testProcessUsesNativeRowsForTheShadowMutationcallsSessionTest::testApplyShadowWritesTheMutationAndAnswersWhatItCameTocallsSessionTest::testApplyTransactionStatementDoesWhatTheStatementSayscallsSessionTest::testBeginTransactionRollBackTransactionBeginTransactionUsesProvidedTransactionManagerForSchemaRollbackcallsSessionTest::testCommitTransactionKeepsWhatTheTransactionDidcallsSessionTest::testCopySupportIsNothingWhereTheDialectHasNoCopycallsSessionTest::testCopyTargetIsNothingWhereTheDialectHasNoCopycallsSessionTest::testCreateEmptyWriteResultAnswersASimulatedWriteWithNothingToFetchcallsSessionTest::testDisableEnableDisableEnableAndDisablecallsSessionTest::testDisableStopsZtdWithoutTouchingTheShadowcallsSessionTest::testEnableTurnsZtdBackOncallsSessionTest::testExecStatementAnswersHowManyRowsAReadStatementCameTocallsSessionTest::testForeignKeyFailureRestoresShadowStatecallsSessionTest::testIsEnabledFollowsWhatWasAskedForcallsSessionTest::testLastInsertIdIsFalseUntilSomethingHasBeenInsertedcallsSessionTest::testMutationFailureIsConvertedToDatabaseExceptioncallsSessionTest::testNeedsPostProcessingIsTrueForTheKindsThatChangeTheShadowcallsSessionTest::testParameterBindingCompilerIsNothingWhereTheDriverBindsThemItselfcallsSessionTest::testParameterBindingCompilerResultColumnTypeResolverParameterBindingCompilerDelegatesCopyTargetsToTheConfiguredPlatformSupportcallsSessionTest::testProcessExecutedStatementReadsAReadStatementStraightBackcallsSessionTest::testResultColumnTypeResolverAnswersTheOneTheSessionWasBuiltWithcallsSessionTest::testRewriteAnswersThePlanTheRewriterGivescallsSessionTest::testRollBackTransactionPutsTheShadowBackToWhereItBegancallsSessionTest::testRunResultSelectAndApplyShadowReadsBackWhatTheStatementWouldHaveWrittencallsSessionTest::testShouldExecuteIsFalseOnlyForAPlanNothingIsToBeRunForcallsSessionTest::testSplitStatementsUsesPlatformRewritercallsSessionTest::testTableDefinitionReturnsRegisteredSchemaOrNullcallsSessionTest::testTransactionsAnswersWhatATransactionStatementIsAppliedTocallsSessionTest::testTransactionStatementIsNothingForAStatementThatIsNotOnecallsForeignKeyCascadeTest::testCarryDeleteDropsEveryChildThatWasHoldingTheKeyWhereTheActionCascadescallsForeignKeyCascadeTest::testCarryDeleteReachesNothingWhereTheParentTableStillHoldsTheKeycallsForeignKeyCascadeTest::testCarryDeleteSetsTheKeyToNullWhereTheActionSaysToRatherThanDroppingTheRowcallsForeignKeyCascadeTest::testCarryUpdateReachesNothingWhereTheParentTableStillHoldsTheOldKeycallsForeignKeyCascadeTest::testCarryUpdateWritesTheNewKeyIntoEveryChildThatWasHoldingTheOldOnecallsForeignKeyCascadeTest::testOfCarriesTheNewKeyToTheChildrenOfAnUpdatedParentcallsForeignKeyCascadeTest::testOfDeletesTheChildrenOfADeletedParentWhereTheActionSaysToCascadecallsForeignKeyCascadeTest::testOfFollowsNothingThroughAKeyWhoseEndsDisagreecallsForeignKeyCascadeTest::testOfLeavesTheChildrenAloneWhileAnotherParentRowHoldsTheKeyUpcallsForeignKeyIntegrityTest::testAssertHoldsChecksNothingThroughAKeyWhoseEndsDisagreecallsForeignKeyIntegrityTest::testAssertHoldsLeavesAKeyWithANullInItAlonecallsForeignKeyIntegrityTest::testAssertHoldsLeavesARowThatDoesNotCarryTheKeyColumnsAlonecallsForeignKeyIntegrityTest::testAssertHoldsPassesAShadowInWhichEveryChildFindsItsParentcallsForeignKeyIntegrityTest::testAssertHoldsRefusesAShadowInWhichAChildReferencesNothingcallsDataMutationTest::testAMutationThatChangesNoRowsCarriesNothingToTheChildrencallsDataMutationTest::testAMutationThatChangesRowsCarriesItsConsequencesToTheChildrencallsMutationImpactTest::testAppliedUpsertReturnsResultRowsAndIsInsertLikecallsMutationImpactTest::testSkippedConditionalUpsertHasNoAffectedOrReturningRowscallsDeleteMutationTest::testApplyRemovesMultipleRowscallsDeleteMutationTest::testApplyRemovesRowsByPrimaryKeycallsDeleteMutationTest::testApplyWithCompositePrimaryKeycallsDeleteMutationTest::testApplyWithEmptyRowsDoesNothingcallsDeleteMutationTest::testApplyWithNonExistentRowDoesNothingcallsInsertMutationTest::testApplyInsertsMultipleRowscallsInsertMutationTest::testApplyInsertsToEmptyTablecallsInsertMutationTest::testApplyWithCompositePrimaryKeycallsInsertMutationTest::testInsertIgnoreSkipsDuplicatescallsInsertMutationTest::testInsertIgnoreSkipsUniqueKeyConflictcallsInsertMutationTest::testInsertIgnoreUsesPartialConflictPredicatecallsInsertMutationTest::testTableNameApplyAppendsRowscallsInsertMutationTest::testUniqueConstraintAllowsNullcallsInsertMutationTest::testValidateNotNullThrowsExceptioncallsInsertMutationTest::testValidatePrimaryKeyDuplicateThrowsExceptioncallsInsertMutationTest::testValidateUniqueThrowsExceptioncallsInsertMutationTest::testValidationDisabledByDefaultAllowsDuplicatescallsMultiDeleteMutationTest::testApplyDeletesFromMultipleTablescallsMultiDeleteMutationTest::testApplyDeletesMultipleRowsFromMultipleTablescallsMultiUpdateMutationTest::testApplySkipsRowsWithIncompleteValuesOrIdentitycallsMultiUpdateMutationTest::testApplyUpdatesMultipleRowscallsMultiUpdateMutationTest::testApplyUpdatesMultipleTablescallsReplaceMutationTest::testApplyInsertsNewRowWhenNoDuplicatecallsReplaceMutationTest::testApplyRemovesEveryRowConflictingWithAnyCandidateKeycallsReplaceMutationTest::testApplyReplacesExistingRowByPrimaryKeycallsReplaceMutationTest::testApplyReplacesMultipleRowscallsReplaceMutationTest::testApplyWithCompositePrimaryKeycallsReplaceMutationTest::testApplyWithMissingPrimaryKeyDoesNotMatchcallsReplaceMutationTest::testApplyWithoutCandidateKeysDoesNotReplaceEqualRowscallsResultSetMutationTest::testApplyResultSetGivesTheNewTableTheColumnsTheResultDescribedcallsResultSetMutationTest::testApplyResultSetGivesTheNewTableTheRowsTheResultCarriedcallsRowMutationResolverTest::testMultiTableTargetscallsRowMutationResolverTest::testResolveDeletecallsRowMutationResolverTest::testResolveDeleteMatchesThePrimaryKeycallsRowMutationResolverTest::testResolveInsertcallsRowMutationResolverTest::testResolveInsertAppliesOnlyReturnedRowscallsRowMutationResolverTest::testResolveMergeSynchronizesTheProjectedTargetcallsRowMutationResolverTest::testResolveReplacecallsRowMutationResolverTest::testResolveTruncateIncludesEveryExplicitTargetcallsRowMutationResolverTest::testResolveUpdatecallsRowMutationResolverTest::testResolveUpdatePreservesTheTargetIdentitycallsRowMutationResolverTest::testResolveUpsertEvaluatesAssignmentsWithoutNativeCandidateKeyscallsUpdateMutationTest::testApplyLeavesATableTheOldKeyPointsAtNothingInAlonecallsUpdateMutationTest::testApplyWritesTheNewRowOverTheRowTheOldKeyPointsAtcallsUpdateMutationTest::testTableNameApplyReplacesRowsByPrimaryKeycallsUpdateMutationTest::testUpdateSameRowUniqueDoesNotThrowcallsUpdateMutationTest::testValidateNotNullThrowsExceptioncallsUpdateMutationTest::testValidateUniqueThrowsExceptioncallsUpdateMutationTest::testValidationDisabledByDefaultAllowsNullInNotNullColumncallsShadowMutationTest::testApplyWritesWhatTheStatementDidIntoTheShadowcallsAddColumnResolverTest::testResolveAlterAddColumnProjectsDefaultAndRegistersNewSchemacallsAddColumnResolverTest::testResolveAlterAddColumnRejectsDuplicateColumnIgnoringCasecallsAddColumnResolverTest::testResolveAlterAddColumnRejectsMultipleColumnscallsAlteredTableProjectionTest::testAlterMutationBuildsProjectionWithoutApplyingItcallsAlteredTableProjectionTest::testAlterMutationRejectsRemovingEveryColumncallsAlteredTableProjectionTest::testExistingColumnPreservesCanonicalNamecallsColumnAlterationTest::testApplyAddColumncallsColumnAlterationTest::testApplyChangeColumncallsColumnAlterationTest::testApplyDropColumncallsColumnAlterationTest::testApplyModifyColumncallsColumnAlterationTest::testApplyRenameColumncallsDropColumnResolverTest::testResolveAlterDropColumnProjectsRemainingRowscallsDropColumnResolverTest::testResolveAlterDropColumnRejectsMissingColumncallsOperationApplierTest::testApplyOperationcallsOperationApplierTest::testApplyRenameTablecallsRenameResolverTest::testResolveAlterRenameColumnProjectsNewNamecallsRenameResolverTest::testResolveAlterRenameColumnRejectsExistingTargetNamecallsRenameResolverTest::testResolveAlterRenameTableMovesSchemaAndRowsAtApplycallsStoredColumnsTest::testRemoveColumnFromStorecallsStoredColumnsTest::testRenameColumnInStorecallsAlterTableMutationTest::testAddColumnBacktickNameNormalizedcallsAlterTableMutationTest::testAddColumnWithBacktickedNameIsNormalizedcallsAlterTableMutationTest::testAddCompositePrimaryKeycallsAlterTableMutationTest::testAddForeignKeySkippedcallsAlterTableMutationTest::testAddPrimaryKeycallsAlterTableMutationTest::testAddPrimaryKeyDoesNotRemoveExistingColumnscallsAlterTableMutationTest::testAddPrimaryKeyPopulatesPrimaryKeyscallsAlterTableMutationTest::testAlterDropDefaultUnsupportedcallsAlterTableMutationTest::testAlterSetDefaultUnsupportedcallsAlterTableMutationTest::testApplyAddColumnAddsNewColumncallsAlterTableMutationTest::testApplyAddColumnPreservesForeignKeyMetadatacallsAlterTableMutationTest::testApplyAddColumnPreservesPartitionMetadatacallsAlterTableMutationTest::testApplyAddColumnPreservesQuotedForeignKeyIdentifierscallsAlterTableMutationTest::testApplyAddColumnThrowsExceptionWhenColumnExistscallsAlterTableMutationTest::testApplyAddColumnWithoutColumnKeywordcallsAlterTableMutationTest::testApplyAddForeignKeyDoesNotAffectColumnscallsAlterTableMutationTest::testApplyAddForeignKeyDoesNotThrowcallsAlterTableMutationTest::testApplyAddForeignKeyLeavesSchemaUnchangedcallsAlterTableMutationTest::testApplyAddIndexThrowsUnsupportedcallsAlterTableMutationTest::testApplyAddKeyThrowsUnsupportedcallsAlterTableMutationTest::testApplyAddPrimaryKeyPreservesAllColumnscallsAlterTableMutationTest::testApplyAlterDropDefaultIsHandledcallsAlterTableMutationTest::testApplyAlterSetDefaultIsHandledViaRewritercallsAlterTableMutationTest::testApplyChangeColumnNotFoundThrowscallsAlterTableMutationTest::testApplyChangeColumnRenamesAndModifiesColumncallsAlterTableMutationTest::testApplyChangeColumnSameNameKeepsStoreUnchangedcallsAlterTableMutationTest::testApplyChangeColumnThrowsExceptionWhenColumnNotFoundcallsAlterTableMutationTest::testApplyChangeColumnUpdatesStoreColumnNamecallsAlterTableMutationTest::testApplyDropColumnEmptyStoreDoesNotModifyStorecallsAlterTableMutationTest::testApplyDropColumnRemovesColumncallsAlterTableMutationTest::testApplyDropColumnRemovesColumnFromStoreRowscallsAlterTableMutationTest::testApplyDropColumnThrowsExceptionWhenColumnNotFoundcallsAlterTableMutationTest::testApplyDropColumnWithoutColumnKeywordRemovesColumncallsAlterTableMutationTest::testApplyDropForeignKeyDoesNotAffectColumnscallsAlterTableMutationTest::testApplyDropForeignKeyDoesNotThrowcallsAlterTableMutationTest::testApplyDropForeignKeyLeavesSchemaUnchangedcallsAlterTableMutationTest::testApplyDropIndexThrowsUnsupportedcallsAlterTableMutationTest::testApplyDropKeyThrowsUnsupportedcallsAlterTableMutationTest::testApplyDropPrimaryKeyRemovesPkConstraintcallsAlterTableMutationTest::testApplyDropPrimaryKeyRemovesPrimaryKeycallsAlterTableMutationTest::testApplyModifyColumnModifiesColumnDefinitioncallsAlterTableMutationTest::testApplyModifyColumnPreservesOtherColumnscallsAlterTableMutationTest::testApplyModifyColumnThrowsExceptionWhenColumnNotFoundcallsAlterTableMutationTest::testApplyNotNullColumnPreservesNotNullInRoundTripcallsAlterTableMutationTest::testApplyRenameColumnEmptyStoreDoesNotModifyStorecallsAlterTableMutationTest::testApplyRenameColumnNotFoundThrowsExceptioncallsAlterTableMutationTest::testApplyRenameColumnRenamesExistingColumncallsAlterTableMutationTest::testApplyRenameColumnThrowsExceptionWhenColumnNotFoundcallsAlterTableMutationTest::testApplyRenameColumnUpdatesDefinitionAndStorecallsAlterTableMutationTest::testApplyRenameColumnUpdatesFieldNameInSchemacallsAlterTableMutationTest::testApplyRenameColumnUpdatesStoreDatacallsAlterTableMutationTest::testApplyRenameIndexThrowsUnsupportedcallsAlterTableMutationTest::testApplyRenameKeyThrowsUnsupportedcallsAlterTableMutationTest::testApplyRenameMovesRowsAndRetainsSourceTombstonecallsAlterTableMutationTest::testApplyRenameRejectsAnActiveTargetcallsAlterTableMutationTest::testApplyRenameTableEmptyStoreTransfersEmptycallsAlterTableMutationTest::testApplyRenameTableRegistersNewNameInRegistrycallsAlterTableMutationTest::testApplyRenameTableTransfersStoreDataToNewNamecallsAlterTableMutationTest::testApplySchemaNotFoundThrowscallsAlterTableMutationTest::testApplySchemaNotFoundThrowsExceptioncallsAlterTableMutationTest::testApplyThrowsExceptionWhenTableNotFoundcallsAlterTableMutationTest::testApplyUnregistersOldDefinitionAndRegistersNewcallsAlterTableMutationTest::testApplyUnregistersOldDefinitionBeforeReregisteringcallsAlterTableMutationTest::testApplyUnregistersOldTableBeforeRegisteringcallsAlterTableMutationTest::testApplyUnsupportedAlterThrowsExceptioncallsAlterTableMutationTest::testBuildCreateTableSqlColumnTypeFallbackToColumnTypescallsAlterTableMutationTest::testBuildCreateTableSqlColumnWithNoTypedColumnFallsBackToColumnTypescallsAlterTableMutationTest::testBuildCreateTableSqlCompositePkBacktickWrappingExactcallsAlterTableMutationTest::testBuildCreateTableSqlCompositePkContainsBacktickWrappedColumnscallsAlterTableMutationTest::testBuildCreateTableSqlCompositePrimaryKeycallsAlterTableMutationTest::testBuildCreateTableSqlCompositePrimaryKeyProducesBacktickedColumnscallsAlterTableMutationTest::testBuildCreateTableSqlCompositePrimaryKeyWrapsBacktickscallsAlterTableMutationTest::testBuildCreateTableSqlCorrectTypedColumnNativeTypecallsAlterTableMutationTest::testBuildCreateTableSqlFallsBackToColumnTypesWhenNoTypedColumncallsAlterTableMutationTest::testBuildCreateTableSqlFallsBackToTextWhenNoColumnTypescallsAlterTableMutationTest::testBuildCreateTableSqlFallsBackToTextWhenNoTypescallsAlterTableMutationTest::testBuildCreateTableSqlPreservesNotNullcallsAlterTableMutationTest::testBuildCreateTableSqlPreservesUniqueConstraintscallsAlterTableMutationTest::testBuildCreateTableSqlPreservesUniqueConstraintsAfterAddColumncallsAlterTableMutationTest::testBuildCreateTableSqlSinglePrimaryKeycallsAlterTableMutationTest::testBuildCreateTableSqlUniqueConstraintClosingParenthesisExactcallsAlterTableMutationTest::testBuildCreateTableSqlUniqueConstraintContainsClosingParenthesiscallsAlterTableMutationTest::testBuildCreateTableSqlUniqueConstraintsProducesBacktickedColumnscallsAlterTableMutationTest::testBuildCreateTableSqlUniqueConstraintWrapsBacktickscallsAlterTableMutationTest::testBuildCreateTableSqlUsesTypedColumnNativeTypecallsAlterTableMutationTest::testBuildCreateTableSqlWithCompositePrimaryKeyBacktickscallsAlterTableMutationTest::testChangeColumnNotFoundThrowscallsAlterTableMutationTest::testChangeColumnRenamesAndUpdatesTypecallsAlterTableMutationTest::testChangeColumnSameNameModifiesTypecallsAlterTableMutationTest::testChangeColumnUpdatesStoreColumnKeycallsAlterTableMutationTest::testChangeWithoutColumnKeywordcallsAlterTableMutationTest::testDropColumnNotFoundThrowscallsAlterTableMutationTest::testDropColumnRemovesFromMultipleStoreRowscallsAlterTableMutationTest::testDropColumnRemovesFromStoreDatacallsAlterTableMutationTest::testDropColumnRemovesFromStoreRowscallsAlterTableMutationTest::testDropColumnUpdatesFieldsArrayIndicescallsAlterTableMutationTest::testDropColumnUpdatesFieldsArrayValuescallsAlterTableMutationTest::testDropColumnWithEmptyStorecallsAlterTableMutationTest::testDropColumnWithoutColumnKeywordcallsAlterTableMutationTest::testDropColumnWithoutColumnKeywordRemovesColumncallsAlterTableMutationTest::testDropForeignKeySkippedcallsAlterTableMutationTest::testDropPrimaryKeyRemovesCompositePrimaryKeycallsAlterTableMutationTest::testDropPrimaryKeyRemovesPkFromDefinitioncallsAlterTableMutationTest::testModifyColumnChangesTypecallsAlterTableMutationTest::testModifyColumnNotFoundThrowscallsAlterTableMutationTest::testModifyColumnPreservesOtherColumnTypescallsAlterTableMutationTest::testModifyColumnUpdatesColumnTypeInSchemacallsAlterTableMutationTest::testModifyColumnWithMultipleFieldsOnlyModifiesTargetcallsAlterTableMutationTest::testModifyWithoutColumnKeywordcallsAlterTableMutationTest::testMultipleAlterOperationscallsAlterTableMutationTest::testRenameColumnEmptyStoreDoesNotModifyStorecallsAlterTableMutationTest::testRenameColumnNotFoundThrowscallsAlterTableMutationTest::testRenameColumnUpdatesStoreColumnNamecallsAlterTableMutationTest::testRenameColumnUpdatesStoreDatacallsAlterTableMutationTest::testRenameTableEmptyStoreDoesNotModifyStorecallsAlterTableMutationTest::testRenameTableMovesDataAndRegistrycallsAlterTableMutationTest::testRenameTablePreservesSchemaDefinitioncallsAlterTableMutationTest::testRenameTableTransfersStoreDatacallsAlterTableMutationTest::testRenameTableUnregistersOldNamecallsAlterTableMutationTest::testRenameTableUpdatesRegistryAndStorecallsAlterTableMutationTest::testTableNameResultSelectApplyReplacesDefinitionAndRowsAtSameNamecallsAlterTableMutationTest::testUnsupportedOperationThrowscallsCreateTableAsSelectMutationTest::testApplyInfersColumnsFromResultRowsForSelectStarcallsCreateTableAsSelectMutationTest::testApplyKeepsParsedProjectionNamesWhenMetadataIsUnavailablecallsCreateTableAsSelectMutationTest::testApplyRegistersTableWithColumnsFromSelectcallsCreateTableAsSelectMutationTest::testApplyResultSetCreatesEmptyTableFromMetadatacallsCreateTableAsSelectMutationTest::testApplyResultSetKeepsExplicitColumnNamesWithMetadataTypescallsCreateTableAsSelectMutationTest::testApplyResultSetUsesMetadataTypesInsteadOfTextFallbackcallsCreateTableAsSelectMutationTest::testApplyStoresRowsFromSelectResultcallsCreateTableAsSelectMutationTest::testApplyThrowsExceptionWhenTableExistscallsCreateTableAsSelectMutationTest::testApplyWithIfNotExistsSkipsWhenTableExistscallsCreateTableLikeMutationTest::testApplyCopiesSchemaFromSourceTablecallsCreateTableLikeMutationTest::testApplyEnsuresNewTableInShadowStorecallsCreateTableLikeMutationTest::testApplyThrowsExceptionWhenSourceTableDoesNotExistcallsCreateTableLikeMutationTest::testApplyThrowsExceptionWhenTargetTableExistscallsCreateTableLikeMutationTest::testApplyWithIfNotExistsSkipsWhenTableExistscallsCreateTableMutationTest::testApplyEnsuresTableInShadowStorecallsCreateTableMutationTest::testApplyRegistersTableInSchemacallsCreateTableMutationTest::testApplyThrowsExceptionWhenTableExistscallsCreateTableMutationTest::testApplyWithIfNotExistsCreatesWhenTableDoesNotExistcallsCreateTableMutationTest::testApplyWithIfNotExistsSkipsWhenTableExistscallsDropTableMutationTest::testApplyClearsDataFromShadowStorecallsDropTableMutationTest::testApplyThrowsExceptionWhenTableDoesNotExistcallsDropTableMutationTest::testApplyUnregistersTableFromSchemacallsDropTableMutationTest::testApplyWithIfExistsDropsExistingTablecallsDropTableMutationTest::testApplyWithIfExistsSkipsWhenTableDoesNotExistcallsMultiTruncateMutationTest::testApplyClearsEveryTargetTablecallsSynchronizeMutationTest::testApplyRejectsDuplicateCandidateKeyscallsSynchronizeMutationTest::testApplyRejectsNullInNotNullColumncallsSynchronizeMutationTest::testTableNameApplyReplacesTheCompleteTableStatecallsTableMutationResolverTest::testResolveAlterTablecallsTableMutationResolverTest::testResolveAlterTableRejectsUnsupportedSchemaChangescallsTableMutationResolverTest::testResolveCreateTablecallsTableMutationResolverTest::testResolveCreateTableRegistersItsSchemaOnlyWhenAppliedcallsTableMutationResolverTest::testResolveDropTablecallsTableMutationResolverTest::testResolveDropTableRemovesOnlyTheTargetcallsTableMutationResolverTest::testResolvePartitionInheritsItsParentDefinitioncallsTableMutationResolverTest::testResolveTruncatecallsTruncateMutationTest::testApplyClearsAllRowscallsTruncateMutationTest::testApplyIgnoresProvidedRowscallsTruncateMutationTest::testApplyOnEmptyTableDoesNothingcallsUpsertMutationTest::testApplyAccumulatesExistingAndIncomingValuescallsUpsertMutationTest::testApplyAccumulatesSequentialConflictsAgainstLatestRowcallsUpsertMutationTest::testApplyHandlesMixedInsertAndUpdatecallsUpsertMutationTest::testApplyInsertsNewRowWhenNoDuplicatecallsUpsertMutationTest::testApplyUpdatesAllNonPrimaryColumnsWhenNoUpdateColumnsSpecifiedcallsUpsertMutationTest::testApplyUpdatesExistingRowOnDuplicatecallsUpsertMutationTest::testApplyUpdatesExistingRowOnUniqueKeyConflictcallsUpsertMutationTest::testApplyUsesConflictPredicateAndReportsOnlyAppliedRowscallsUpsertMutationTest::testApplyUsesDatabaseEvaluatedValuesAndStripsMetadatacallsUpsertMutationTest::testApplyWithCompositePrimaryKeycallsUpsertMutationTest::testApplyWithExcludedColumnReferencecallsUpsertMutationTest::testApplyWithExcludedQuotedColumnReferencecallsUpsertMutationTest::testApplyWithLiteralUpdateValuecallsUpsertMutationTest::testApplyWithMissingPrimaryKeyInsertsNewRowcallsUpsertMutationTest::testApplyWithUpdateValuesExpressioncallsUpsertMutationTest::testConflictPredicateRestrictsIncomingAndExistingCandidateRowscallsUpsertMutationTest::testDatabaseEvaluatedBatchDetectsConflictsWithRowsInsertedEarlierInStatementcallsUpsertMutationTest::testDatabaseEvaluatedBatchReevaluatesAgainstLatestConflictRowcallsUpsertMutationTest::testDatabaseEvaluatedBatchRejectsStaleUnsupportedExpressioncallsUpsertMutationTest::testDatabaseEvaluatedPredicateFallsBackWhenMetadataIsMissingcallsUpsertMutationTest::testResultRowsAnswersEveryRowTheStatementWroteOrLeftAsItWascallsUpsertMutationTest::testSkippedConditionalRowDoesNotStopFollowingRowscallsMySqlMutationResolverTest::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::testUpdateUsesColumnsFromStoreWhenAvailablecallsParentKeyLookupTest::testDoesNotExistWhenNoRowCarriesTheValuescallsParentKeyLookupTest::testDoesNotExistWhenTheTableHasNoRowsAtAllcallsParentKeyLookupTest::testExistsOnlyWhenOneRowCarriesEveryColumnOfACompositeKeycallsParentKeyLookupTest::testExistsWhenSomeRowStillCarriesTheValuescallsPgSqlMutationResolverTest::testNestedPartitionDmlTargetsRootStoragecallsPgSqlMutationResolverTest::testPartitionDdlInheritsParentSchemaAndChildDmlUsesParentStoragecallsPgSqlMutationResolverTest::testPartitionDdlRejectsUnknownParentAndUnsupportedHashBoundscallsPgSqlMutationResolverTest::testResolveAlterTableNameNotFoundThrowscallsPgSqlMutationResolverTest::testResolveAlterTableThrowsUnsupportedcallsPgSqlMutationResolverTest::testResolveAlterTableUnknownTableThrowscallsPgSqlMutationResolverTest::testResolveAlterTableWithoutTableNameThrowscallsPgSqlMutationResolverTest::testResolveAlterTableWithUnknownTableThrowscallsPgSqlMutationResolverTest::testResolveCreateTableAlreadyExistsThrowscallsPgSqlMutationResolverTest::testResolveCreateTableAlreadyExistsWithIfNotExistscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectCommaInSubquerycallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectExpressionColumncallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectExtractsColumnNamescallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectExtractsColumnscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectIfNotExistscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectLowercaseSelectAndFromcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectLowercaseSelectExtractsCorrectColumnscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectNewlineBeforeFromExtractsColumnscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectNoFromcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectNoFromClausecallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectNoFromLowercasecallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectQuotedColumnAliascallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectReturnsCreateTableAsSelectMutationcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectStarReturnsEmptyColumnscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectTableDotColumncallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithAliasescallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithAliasExtractsAliasNamecallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithColumnAliascallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithColumnsMultilinecallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithCommaInSelectcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithDoubleQuotedAliascallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithDoubleQuotedStringContainCommacallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithExpressioncallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithExpressionscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithLowercaseAliasAscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithLowercaseAliasAsV2callsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithLowercaseSelectAndAscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithLowercaseSelectExtractsColumnscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithLowercaseSqlcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithNewlineBeforeFromcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithNewlineInSelectListcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithNoFromcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithNoFromLowercaseSelectcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithPaddedStarcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithQuotedAliascallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithQuotedColumncallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithQuotedStringContainCommacallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithQuotedStringContainingCommacallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithStarcallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithSubquerycallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithTableQualifiedColumncallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithTableQualifiedColumnscallsPgSqlMutationResolverTest::testResolveCreateTableAsSelectWithWildcardcallsPgSqlMutationResolverTest::testResolveCreateTableIfNotExistsDoesNotThrowWhenAlreadyExistscallsPgSqlMutationResolverTest::testResolveCreateTableIfNotExistsWhenTableExistscallsPgSqlMutationResolverTest::testResolveCreateTableLikeReturnsCreateTableLikeMutationcallsPgSqlMutationResolverTest::testResolveCreateTableLikeSourceNotRegisteredThrowscallsPgSqlMutationResolverTest::testResolveCreateTableLikeSourceRegisteredcallsPgSqlMutationResolverTest::testResolveCreateTableLikeUnknownSourceThrowscallsPgSqlMutationResolverTest::testResolveCreateTableLikeWithIfNotExistscallsPgSqlMutationResolverTest::testResolveCreateTableLikeWithKnownSourcecallsPgSqlMutationResolverTest::testResolveCreateTableLikeWithNullSourceThrowscallsPgSqlMutationResolverTest::testResolveCreateTableLikeWithUnknownSourceThrowscallsPgSqlMutationResolverTest::testResolveCreateTableLowercaseExtractsTablecallsPgSqlMutationResolverTest::testResolveCreateTableNameNotFoundThrowscallsPgSqlMutationResolverTest::testResolveCreateTableReturnsCreateTableMutationcallsPgSqlMutationResolverTest::testResolveCreateTableWhenAlreadyExistsThrowscallsPgSqlMutationResolverTest::testResolveCreateTableWithoutTableNameThrowscallsPgSqlMutationResolverTest::testResolveCtasApplyLowercaseSelectRegistersColumnscallsPgSqlMutationResolverTest::testResolveCtasApplyNoFromLowercaseSelectRegistersColumnscallsPgSqlMutationResolverTest::testResolveCtasApplyRegistersColumnsFromSelectcallsPgSqlMutationResolverTest::testResolveCtasApplySelectNewlineBeforeFromRegistersColumnscallsPgSqlMutationResolverTest::testResolveCtasApplyTableQualifiedColumnRegistersColumnNamecallsPgSqlMutationResolverTest::testResolveCtasApplyWithAliasRegistersAliasNamecallsPgSqlMutationResolverTest::testResolveCtasApplyWithLowercaseAliasRegistersAliasNamecallsPgSqlMutationResolverTest::testResolveCtasApplyWithQuotedAliasRegistersCorrectNamecallsPgSqlMutationResolverTest::testResolveDeleteEnsuresShadowStorecallsPgSqlMutationResolverTest::testResolveDeleteEnsuresShadowStoreEntrycallsPgSqlMutationResolverTest::testResolveDeleteLowercaseExtractsTablecallsPgSqlMutationResolverTest::testResolveDeleteNoRegistryNoShadowThrowscallsPgSqlMutationResolverTest::testResolveDeleteReturnsDeleteMutationcallsPgSqlMutationResolverTest::testResolveDeleteReturnsPrimaryKeysFromRegistrycallsPgSqlMutationResolverTest::testResolveDeleteTableNotFoundThrowscallsPgSqlMutationResolverTest::testResolveDeleteWithoutRegistryReturnsEmptyPrimaryKeyscallsPgSqlMutationResolverTest::testResolveDeleteWithoutTableThrowscallsPgSqlMutationResolverTest::testResolveDeleteWithShadowRowsDoesNotThrowcallsPgSqlMutationResolverTest::testResolveDeleteWithShadowStoreDatacallsPgSqlMutationResolverTest::testResolveDeleteWithShadowStoreOnlyNoRegistrycallsPgSqlMutationResolverTest::testResolveDeleteWithUnknownTableAndNoShadowThrowscallsPgSqlMutationResolverTest::testResolveDropTableIfExistsForRegisteredTablecallsPgSqlMutationResolverTest::testResolveDropTableIfExistsWithUnknownTablecallsPgSqlMutationResolverTest::testResolveDropTableLowercaseExtractsTablecallsPgSqlMutationResolverTest::testResolveDropTableNameNotFoundThrowscallsPgSqlMutationResolverTest::testResolveDropTableReturnsDropTableMutationcallsPgSqlMutationResolverTest::testResolveDropTableWithIfExistsNotRegisteredcallsPgSqlMutationResolverTest::testResolveDropTableWithoutIfExistsNotRegisteredThrowscallsPgSqlMutationResolverTest::testResolveDropTableWithoutTableNameThrowscallsPgSqlMutationResolverTest::testResolveDropTableWithUnknownTableThrowscallsPgSqlMutationResolverTest::testResolveInsertFalseValueForHasInsertSelectcallsPgSqlMutationResolverTest::testResolveInsertLowercaseExtractsTablecallsPgSqlMutationResolverTest::testResolveInsertNoRegistryStillWorkscallsPgSqlMutationResolverTest::testResolveInsertReturnsInsertMutationcallsPgSqlMutationResolverTest::testResolveInsertReturnsInsertMutationForValuescallsPgSqlMutationResolverTest::testResolveInsertReturnsPrimaryKeysFromRegistrycallsPgSqlMutationResolverTest::testResolveInsertTableNotFoundThrowscallsPgSqlMutationResolverTest::testResolveInsertWithOnConflictDoNothingcallsPgSqlMutationResolverTest::testResolveInsertWithOnConflictDoNothingReturnsInsertMutationcallsPgSqlMutationResolverTest::testResolveInsertWithOnConflictDoUpdatecallsPgSqlMutationResolverTest::testResolveInsertWithOnConflictDoUpdateReturnsUpsertMutationcallsPgSqlMutationResolverTest::testResolveInsertWithoutOnConflictcallsPgSqlMutationResolverTest::testResolveInsertWithoutRegistryReturnsEmptyPrimaryKeyscallsPgSqlMutationResolverTest::testResolveInsertWithoutTableThrowscallsPgSqlMutationResolverTest::testResolveMergeAcceptsInitializedTableWithoutReflectedSchemacallsPgSqlMutationResolverTest::testResolveMergeRejectsUnknownUninitializedTablecallsPgSqlMutationResolverTest::testResolveMergeReturnsAtomicTableSynchronizationcallsPgSqlMutationResolverTest::testResolveMultiTableTruncateReturnsMultiTruncateMutationcallsPgSqlMutationResolverTest::testResolveOnConflictDoNothingWithoutRegisteredSchemacallsPgSqlMutationResolverTest::testResolveOnConflictDoUpdateWithoutRegisteredSchemacallsPgSqlMutationResolverTest::testResolveSelectReturnsNullcallsPgSqlMutationResolverTest::testResolveTruncateLowercaseExtractsTablecallsPgSqlMutationResolverTest::testResolveTruncateReturnsTruncateMutationcallsPgSqlMutationResolverTest::testResolveTruncateTableNotFoundThrowscallsPgSqlMutationResolverTest::testResolveTruncateWithoutTableThrowscallsPgSqlMutationResolverTest::testResolveUnknownStatementTypeReturnsNullcallsPgSqlMutationResolverTest::testResolveUpdateEnsuresShadowStorecallsPgSqlMutationResolverTest::testResolveUpdateEnsuresShadowStoreEntrycallsPgSqlMutationResolverTest::testResolveUpdateLowercaseExtractsTablecallsPgSqlMutationResolverTest::testResolveUpdateNoRegistryDoesNotCreateUnsafeMutationcallsPgSqlMutationResolverTest::testResolveUpdateNoRegistryThrowsUnknownSchemacallsPgSqlMutationResolverTest::testResolveUpdateReturnsPrimaryKeysFromRegistrycallsPgSqlMutationResolverTest::testResolveUpdateReturnsUpdateMutationcallsPgSqlMutationResolverTest::testResolveUpdateTableNotFoundThrowscallsPgSqlMutationResolverTest::testResolveUpdateWithoutRegistryReturnsEmptyPrimaryKeyscallsPgSqlMutationResolverTest::testResolveUpdateWithoutTableThrowscallsPgSqlMutationResolverTest::testResolveUpdateWithRegisteredTablecallsPgSqlMutationResolverTest::testResolveUpsertApplyUpdatesExistingRowcallsPgSqlMutationResolverTest::testResolveUpsertConflictValuesArePreservedcallsPgSqlMutationResolverTest::testResolveUpsertConflictValuesMappingcallsPgSqlMutationResolverTest::testResolveUpsertConflictValuesPreservedcallsPgSqlMutationResolverTest::testResolveUpsertReturnsPrimaryKeysAndConflictColumnscallsPgSqlMutationResolverTest::testResolveUpsertTernaryRegisteredTableUsesDefinitionPrimaryKeyscallsPgSqlMutationResolverTest::testResolveUpsertUsesPartialIndexPredicateForConflictDetectioncallsPgSqlMutationResolverTest::testResolveUpsertValuesFromConflictClausecallsPgSqlMutationResolverTest::testResolveUpsertWithMultipleSetColumnscallsPgSqlMutationResolverTest::testResolveUpsertWithRegisteredTableUsesRegistrycallsPgSqlMutationResolverTest::testSubpartitionDdlStoresItsOwnPartitionKeycallsPgSqlMutationResolverTest::testUpdateDoesNotTreatRowsFromUnknownInsertAsSchemacallsReferentialIntegrityEnforcerTest::testAcceptsExplicitReferenceToNonPrimaryCandidateKeycallsReferentialIntegrityEnforcerTest::testCascadeNormalizesSparseChildRowIndexescallsReferentialIntegrityEnforcerTest::testCompositeDeleteSetNullNormalizesEveryForeignKeyColumncallsReferentialIntegrityEnforcerTest::testCompositePrimaryKeyUpdateCascadesOnlyMatchingChildrencallsReferentialIntegrityEnforcerTest::testDeleteCascadePropagatesAcrossMultipleLevelscallsReferentialIntegrityEnforcerTest::testDeleteCascadeRemovesAllMatchingChildrenAndKeepsOtherscallsReferentialIntegrityEnforcerTest::testDeleteRestrictRejectsParentRemovalcallsReferentialIntegrityEnforcerTest::testDeleteSetNullCarriesOriginalRowIntoNextLevelcallsReferentialIntegrityEnforcerTest::testDeleteSetNullUpdatesChildcallsReferentialIntegrityEnforcerTest::testEmptySelfReferentialCascadeTerminatesWithoutSyntheticEventscallsReferentialIntegrityEnforcerTest::testExplicitReferencedColumnsAreNotReplacedByPrimaryKeycallsReferentialIntegrityEnforcerTest::testFallbackContinuesAfterIdentityMatchedRowcallsReferentialIntegrityEnforcerTest::testFallbackReferencedPrimaryKeyAppearsInUpdateViolationcallsReferentialIntegrityEnforcerTest::testFallbackTransitionPropagatesUpdateAndDeleteFromOneTablecallsReferentialIntegrityEnforcerTest::testIdentityTransitionSkipsIncompleteChangeAndProcessesFollowingChangecallsReferentialIntegrityEnforcerTest::testMatchingConstraintAfterUnrelatedConstraintStillCascadescallsReferentialIntegrityEnforcerTest::testMissingReferencedValuesDoNotStopLaterUpdateOrDeleteCascadescallsReferentialIntegrityEnforcerTest::testMultiTruncateCascadesFromEveryChangedParentTablecallsReferentialIntegrityEnforcerTest::testPrimaryKeyUpdateCascadesThroughOriginalRowIdentitycallsReferentialIntegrityEnforcerTest::testRejectsInsertWhoseParentDoesNotExistcallsReferentialIntegrityEnforcerTest::testRetainedOldKeyDoesNotStopFollowingUpdateCascadecallsReferentialIntegrityEnforcerTest::testRowsWithMissingPrimaryKeyCannotMatchRowsThatHaveTheKeycallsReferentialIntegrityEnforcerTest::testSchemaMutationDoesNotTriggerRowValidationcallsReferentialIntegrityEnforcerTest::testSchemaMutationSkipsRowIntegrityCheckscallsReferentialIntegrityEnforcerTest::testSynchronizeCascadesDeletedRowscallsReferentialIntegrityEnforcerTest::testUpdateCascadeCarriesOriginalRowIntoNextLevelcallsReferentialIntegrityEnforcerTest::testUpdateDoesNotCascadeWhileOldParentKeyStillExistscallsReferentialIntegrityEnforcerTest::testValidationContinuesPastMissingAndNullForeignKeyscallsInsertMutationResolverTest::testResolveInsertInsertcallsInsertMutationResolverTest::testResolveInsertInsertIgnoreWithDefinitionReturnsPrimaryKeyscallsInsertMutationResolverTest::testResolveInsertInsertIgnoreWithoutDefinitionReturnsEmptyPrimaryKeyscallsInsertMutationResolverTest::testResolveInsertInsertIgnoreWithPrimaryKeysReturnsInsertMutationcallsInsertMutationResolverTest::testResolveInsertInsertIsReplaceReturnsPrimaryKeyscallsInsertMutationResolverTest::testResolveInsertInsertOnConflictDoNothingIsIgnorecallsInsertMutationResolverTest::testResolveInsertInsertOrReplacecallsInsertMutationResolverTest::testResolveInsertReplacecallsInsertMutationResolverTest::testResolveInsertUpsertWithDefinitionPrimaryKeyscallsInsertMutationResolverTest::testResolveInsertUpsertWithDefinitionReturnsPrimaryKeyscallsInsertMutationResolverTest::testResolveInsertUpsertWithoutDefinitionReturnsEmptyPrimaryKeyscallsInsertMutationResolverTest::testResolveOnConflictConsumesNativeEvaluationMetadatacallsInsertMutationResolverTest::testResolveOnConflictDoNothingPreservesExistingRowcallsMutationTableLookupTest::testAssertTableWasNotRemovedPermitsAnActiveSchemacallsMutationTableLookupTest::testAssertTableWasNotRemovedRejectsDroppedTablescallsMutationTableLookupTest::testDefinitionRejectsUnknownTablescallsMutationTableLookupTest::testDefinitionReturnsTheRegisteredSchemacallsRowMutationResolverTest::testResolveDeletecallsRowMutationResolverTest::testResolveDeleteCaseInsensitiveRegexcallsRowMutationResolverTest::testResolveDeleteEnsuresShadowStorecallsRowMutationResolverTest::testResolveDeleteEnsuresShadowStoreEntryCreatedcallsRowMutationResolverTest::testResolveDeleteFullTableLowercaseMatchesRegexcallsRowMutationResolverTest::testResolveDeleteFullTableWithoutWherecallsRowMutationResolverTest::testResolveDeleteLowercaseSqlcallsRowMutationResolverTest::testResolveDeleteTableNamecallsRowMutationResolverTest::testResolveDeleteUnknownTableThrowscallsRowMutationResolverTest::testResolveDeleteWithCommentsMatchesRegexcallsRowMutationResolverTest::testResolveDeleteWithDefinitionReturnsPrimaryKeyscallsRowMutationResolverTest::testResolveDeleteWithExistingRowscallsRowMutationResolverTest::testResolveDeleteWithLeadingWhitespaceLowercasecallsRowMutationResolverTest::testResolveDeleteWithOnlyTableNameNoWhereNoTrailingcallsRowMutationResolverTest::testResolveDeleteWithoutDefinitionAndNoRowsThrowscallsRowMutationResolverTest::testResolveDeleteWithoutDefinitionButWithShadowRowscallsRowMutationResolverTest::testResolveDeleteWithoutTargetThrowscallsRowMutationResolverTest::testResolveDeleteWithStrippedCommentsMatchesRegexcallsRowMutationResolverTest::testResolveUpdatecallsRowMutationResolverTest::testResolveUpdateEnsuresShadowStoreWithDefinitioncallsRowMutationResolverTest::testResolveUpdatePrimaryKeysFromDefinitioncallsRowMutationResolverTest::testResolveUpdateWithDefinitionReturnsPrimaryKeyscallsRowMutationResolverTest::testResolveUpdateWithoutContextThrowsUnknownSchemacallsRowMutationResolverTest::testResolveUpdateWithoutDefinitionHasEmptyPrimaryKeyscallsRowMutationResolverTest::testResolveUpdateWithoutDefinitionReturnsEmptyPrimaryKeyscallsRowMutationResolverTest::testResolveUpdateWithoutTargetContextThrowsUnknownSchemacallsRowMutationResolverTest::testResolveUpdateWithoutTargetThrowscallsRowMutationResolverTest::testResolveUpdateWithPrimaryKeyscallsTableMutationResolverTest::testResolveAlterTableAddColumnAppliesNewColumnToDefinitioncallsTableMutationResolverTest::testResolveAlterTableAddColumnAppliesParenthesizedTypecallsTableMutationResolverTest::testResolveAlterTableAddColumnVerifyNewColumnscallsTableMutationResolverTest::testResolveAlterTableAddColumnVerifyParenthesizedTypecallsTableMutationResolverTest::testResolveAlterTableAddColumnWithoutColumnKeywordcallsTableMutationResolverTest::testResolveAlterTableAddColumnWithTypedColumnscallsTableMutationResolverTest::testResolveAlterTableCaseInsensitiveAddColumncallsTableMutationResolverTest::testResolveAlterTableCaseInsensitiveDropColumncallsTableMutationResolverTest::testResolveAlterTableCaseInsensitiveRenameColumncallsTableMutationResolverTest::testResolveAlterTableCaseInsensitiveRenameTocallsTableMutationResolverTest::testResolveAlterTableDropColumnNotNullUpdatedcallsTableMutationResolverTest::testResolveAlterTableDropColumnPreservesPartialUniqueConstraintcallsTableMutationResolverTest::testResolveAlterTableDropColumnPreservesPrimaryKeyscallsTableMutationResolverTest::testResolveAlterTableDropColumnRemovesPrimaryKeyIfDroppedcallsTableMutationResolverTest::testResolveAlterTableDropColumnRemovesUniqueConstraintIfEmptycallsTableMutationResolverTest::testResolveAlterTableDropColumnTypedColumnsUpdatedcallsTableMutationResolverTest::testResolveAlterTableDropColumnVerifyRemovedFromAllListscallsTableMutationResolverTest::testResolveAlterTableOnNonExistentTableThrowscallsTableMutationResolverTest::testResolveAlterTableRenameColumnNotNullUpdatedcallsTableMutationResolverTest::testResolveAlterTableRenameColumnPrimaryKeysUpdatedcallsTableMutationResolverTest::testResolveAlterTableRenameColumnTypedColumnsUpdatedcallsTableMutationResolverTest::testResolveAlterTableRenameColumnUniqueConstraintsUpdatedcallsTableMutationResolverTest::testResolveAlterTableRenameColumnVerifyAllUpdatedcallsTableMutationResolverTest::testResolveAlterTableRenameColumnWithoutColumnKeywordcallsTableMutationResolverTest::testResolveAlterTableRenameToDropsOldTablecallsTableMutationResolverTest::testResolveAlterTableUnsupportedOperationThrowsForUnknownActioncallsTableMutationResolverTest::testResolveAlterTableWithAddWithoutColumnKeywordDetectedcallsTableMutationResolverTest::testResolveCreateTableAlreadyExistsNoIfNotExistsThrowscallsTableMutationResolverTest::testResolveCreateTableCaseInsensitiveIfNotExistscallsTableMutationResolverTest::testResolveCreateTableIfNotExistsExistingTableNoErrorcallsTableMutationResolverTest::testResolveCreateTableIfNotExistsLowercaseDoesNotThrowcallsTableMutationResolverTest::testResolveDropTableCaseInsensitiveIfExistscallsTableMutationResolverTest::testResolveDropTableExistingReturnsDropMutationcallsTableMutationResolverTest::testResolveDropTableIfExistsOnNonExistentTableDoesNotThrowcallsTableMutationResolverTest::testResolveDropTableNonExistentWithoutIfExistsThrowscallsShadowApplicationTest::testApplyAnswersWhatTheStatementCameTocallsShadowApplicationTest::testApplyLeavesTheShadowAsItWasWhenTheStatementIsRefusedcallsShadowApplicationTest::testApplyWritesTheRowsAMutationDescribesIntoTheShadowcallsShadowApplicationTest::testLastInsertIdOfAnswersTheIdentityTheTableSaysIsNumberedcallsShadowApplicationTest::testLastInsertIdOfFallsBackToASingleColumnKeycallsShadowApplicationTest::testLastInsertIdOfIsNothingForAStatementThatInsertedNothingcallsShadowApplicationTest::testLastInsertIdOfIsNothingWhereNoColumnIsNumberedcallsShadowSavepointTest::testIsNamedAnswersForTheNameItWasDeclaredUndercallsShadowSavepointTest::testIsNamedIsFalseForTheTransactionItselfcallsShadowSavepointTest::testOfRemembersTheRowsAsTheyWereRatherThanAsTheyBecomecallsShadowSavepointTest::testOfRemembersWhichTablesThereWerecallsShadowSavepointTest::testRestoreIntoLeavesTheTablesAloneWhereNothingIsDescribingThemcallsShadowSavepointTest::testTheNameIsReadableWithoutBeingGuessedAtcallsShadowTransactionsTest::testBeginIsIgnoredWhereATransactionHasAlreadyBeguncallsShadowTransactionsTest::testCommitLeavesNothingToRollBackTocallsShadowTransactionsTest::testPositionOfIsNothingForANameNothingWasDeclaredUndercallsShadowTransactionsTest::testReleaseGivesUpTheSavepointAndEveryNestedOneWithoutUndoingAnythingcallsShadowTransactionsTest::testRollBackPutsBackTheRowsTheTablesAndWhatDescribesThemcallsShadowTransactionsTest::testRollBackToKeepsTheSavepointAndGivesUpEveryLaterOnecallsShadowTransactionsTest::testRollBackToLeavesItsTargetToBeRolledBackToAgaincallsShadowTransactionsTest::testSavepointDeclaredTwiceUnderOneNameTakesThePlaceOfTheFirstcallsSqliteMutationResolverTest::testAlterAcceptsBracketQuotedColumnIdentifierscallsSqliteMutationResolverTest::testAlterAddColumnPreservesExistingAndAddedForeignKeyscallsSqliteMutationResolverTest::testAlterAddGeneratedColumnPreservesExistingAndAddedExpressionscallsSqliteMutationResolverTest::testAlterAddPreservesCompleteDefinitionAndBuildsMigrationProjectioncallsSqliteMutationResolverTest::testAlterAddRejectsAmbiguousParsedColumncallsSqliteMutationResolverTest::testAlterAddRejectsMissingParsedColumncallsSqliteMutationResolverTest::testAlterColumnMutationsPreserveRenameAndRemoveForeignKeyscallsSqliteMutationResolverTest::testAlterDropRemovesEveryColumnMetadataEntryAndBuildsMigrationProjectioncallsSqliteMutationResolverTest::testAlterIdentifierClausesRejectExtraOrMissingTokenscallsSqliteMutationResolverTest::testAlterRenameColumnMovesEveryMetadataEntryAndBuildsMigrationProjectioncallsSqliteMutationResolverTest::testAlterRenameColumnRejectsExistingTargetcallsSqliteMutationResolverTest::testAlterRenameColumnRejectsMissingSourcecallsSqliteMutationResolverTest::testAlterRenameColumnSupportsCaseOnlyTargetcallsSqliteMutationResolverTest::testAlterRenameTableBuildsMigrationProjectionAndMovesDefinitioncallsSqliteMutationResolverTest::testRemovedTableRejectsEveryFurtherMutationcallsSqliteMutationResolverTest::testResolveAlterAddColumnDoesNotThrowWhenAppliedcallsSqliteMutationResolverTest::testResolveAlterAddColumnEmptyParensDoesNotAppendParenscallsSqliteMutationResolverTest::testResolveAlterAddColumnIfNotExistsDoesNotThrowcallsSqliteMutationResolverTest::testResolveAlterAddColumnLowercaseTypeExtractioncallsSqliteMutationResolverTest::testResolveAlterAddColumnMultilineTypecallsSqliteMutationResolverTest::testResolveAlterAddColumnMultiWordTypeLowercasecallsSqliteMutationResolverTest::testResolveAlterAddColumnNonTypeKeywordNotStoredcallsSqliteMutationResolverTest::testResolveAlterAddColumnTypeDefaultKeywordExcludedcallsSqliteMutationResolverTest::testResolveAlterAddColumnTypeNotKeywordExcludedcallsSqliteMutationResolverTest::testResolveAlterAddColumnUpperCasesTypeNamecallsSqliteMutationResolverTest::testResolveAlterAddColumnWithEmptyRestNoTypecallsSqliteMutationResolverTest::testResolveAlterAddColumnWithNoRestcallsSqliteMutationResolverTest::testResolveAlterAddColumnWithParensInTypecallsSqliteMutationResolverTest::testResolveAlterAddColumnWithTextTypecallsSqliteMutationResolverTest::testResolveAlterAddColumnWithTrimmedRestcallsSqliteMutationResolverTest::testResolveAlterAddQuotedColumnLowercaseAddcallsSqliteMutationResolverTest::testResolveAlterAddWithoutColumnKeywordLowercasecallsSqliteMutationResolverTest::testResolveAlterDropColumnDoesNotThrowWhenAppliedcallsSqliteMutationResolverTest::testResolveAlterDropColumnFiltersByColumncallsSqliteMutationResolverTest::testResolveAlterDropColumnFiltersMultiColumnConstraintcallsSqliteMutationResolverTest::testResolveAlterDropColumnIfNotExistsDoesNotThrowcallsSqliteMutationResolverTest::testResolveAlterDropColumnLowercaseRegexcallsSqliteMutationResolverTest::testResolveAlterDropColumnPreservesRemainingUniqueConstraintscallsSqliteMutationResolverTest::testResolveAlterDropColumnReindexesNotNullcallsSqliteMutationResolverTest::testResolveAlterDropColumnReindexesPrimaryKeyscallsSqliteMutationResolverTest::testResolveAlterDropColumnRemovesFromColumnscallsSqliteMutationResolverTest::testResolveAlterDropColumnRemovesFromPrimaryKeyscallsSqliteMutationResolverTest::testResolveAlterDropColumnRemovesFromUniqueConstraintscallsSqliteMutationResolverTest::testResolveAlterDropColumnRemovesTypedColumnscallsSqliteMutationResolverTest::testResolveAlterRenameColumnDoesNotThrowWhenAppliedcallsSqliteMutationResolverTest::testResolveAlterRenameColumnIfNotExistsDoesNotThrowcallsSqliteMutationResolverTest::testResolveAlterRenameColumnLowercaseRegexcallsSqliteMutationResolverTest::testResolveAlterRenameColumnRenamesInColumnscallsSqliteMutationResolverTest::testResolveAlterRenameColumnRenamesInPrimaryKeyscallsSqliteMutationResolverTest::testResolveAlterRenameColumnRenamesInTypedColumnscallsSqliteMutationResolverTest::testResolveAlterRenameColumnRenamesInUniqueConstraintscallsSqliteMutationResolverTest::testResolveAlterRenameColumnUpdatesNotNullColumnscallsSqliteMutationResolverTest::testResolveAlterRenameColumnUpdatesPrimaryKeyscallsSqliteMutationResolverTest::testResolveAlterRenameColumnUpdatesUniqueConstraintscallsSqliteMutationResolverTest::testResolveAlterRenameTableAppliesAsDropcallsSqliteMutationResolverTest::testResolveAlterRenameTableIfExistsDoesNotThrowcallsSqliteMutationResolverTest::testResolveAlterRenameTableProducesDropMutationcallsSqliteMutationResolverTest::testResolveAlterRenameToDoesNotThrowWhenTableAlreadyGonecallsSqliteMutationResolverTest::testResolveAlterRenameToExtractsCorrectNewNamecallsSqliteMutationResolverTest::testResolveAlterRenameToLowercaseRegexcallsSqliteMutationResolverTest::testResolveAlterRenameWithoutColumnKeywordcallsSqliteMutationResolverTest::testResolveAlterRenameWithoutColumnKeywordLowercasecallsSqliteMutationResolverTest::testResolveAlterTableAddColumncallsSqliteMutationResolverTest::testResolveAlterTableAddColumnAppliesNewColumnToDefinitioncallsSqliteMutationResolverTest::testResolveAlterTableAddColumnAppliesParenthesizedTypecallsSqliteMutationResolverTest::testResolveAlterTableAddColumnLowercasecallsSqliteMutationResolverTest::testResolveAlterTableAddColumnNoKeywordcallsSqliteMutationResolverTest::testResolveAlterTableAddColumnUnknownTableThrowscallsSqliteMutationResolverTest::testResolveAlterTableAddColumnVerifyNewColumnscallsSqliteMutationResolverTest::testResolveAlterTableAddColumnVerifyParenthesizedTypecallsSqliteMutationResolverTest::testResolveAlterTableAddColumnWithoutColumnKeywordcallsSqliteMutationResolverTest::testResolveAlterTableAddColumnWithoutTypecallsSqliteMutationResolverTest::testResolveAlterTableAddColumnWithParenthesizedTypecallsSqliteMutationResolverTest::testResolveAlterTableAddColumnWithPrimaryKeywordcallsSqliteMutationResolverTest::testResolveAlterTableAddColumnWithTypecallsSqliteMutationResolverTest::testResolveAlterTableAddColumnWithTypedColumnscallsSqliteMutationResolverTest::testResolveAlterTableAddWithoutColumnKeywordcallsSqliteMutationResolverTest::testResolveAlterTableCaseInsensitiveAddColumncallsSqliteMutationResolverTest::testResolveAlterTableCaseInsensitiveDropColumncallsSqliteMutationResolverTest::testResolveAlterTableCaseInsensitiveRenameColumncallsSqliteMutationResolverTest::testResolveAlterTableCaseInsensitiveRenameTocallsSqliteMutationResolverTest::testResolveAlterTableDropColumncallsSqliteMutationResolverTest::testResolveAlterTableDropColumnLowercasecallsSqliteMutationResolverTest::testResolveAlterTableDropColumnNotNullUpdatedcallsSqliteMutationResolverTest::testResolveAlterTableDropColumnPreservesPartialUniqueConstraintcallsSqliteMutationResolverTest::testResolveAlterTableDropColumnPreservesPrimaryKeyscallsSqliteMutationResolverTest::testResolveAlterTableDropColumnRemovesPrimaryKeyIfDroppedcallsSqliteMutationResolverTest::testResolveAlterTableDropColumnRemovesUniqueConstraintIfEmptycallsSqliteMutationResolverTest::testResolveAlterTableDropColumnTypedColumnsUpdatedcallsSqliteMutationResolverTest::testResolveAlterTableDropColumnUnknownThrowscallsSqliteMutationResolverTest::testResolveAlterTableDropColumnUpdatesSchemacallsSqliteMutationResolverTest::testResolveAlterTableDropColumnVerifyRemovedFromAllListscallsSqliteMutationResolverTest::testResolveAlterTableOnNonExistentTableThrowscallsSqliteMutationResolverTest::testResolveAlterTableRenameColumncallsSqliteMutationResolverTest::testResolveAlterTableRenameColumnLowercasecallsSqliteMutationResolverTest::testResolveAlterTableRenameColumnNotNullUpdatedcallsSqliteMutationResolverTest::testResolveAlterTableRenameColumnPrimaryKeysUpdatedcallsSqliteMutationResolverTest::testResolveAlterTableRenameColumnTypedColumnsUpdatedcallsSqliteMutationResolverTest::testResolveAlterTableRenameColumnUniqueConstraintsUpdatedcallsSqliteMutationResolverTest::testResolveAlterTableRenameColumnUnknownThrowscallsSqliteMutationResolverTest::testResolveAlterTableRenameColumnUpdatesSchemacallsSqliteMutationResolverTest::testResolveAlterTableRenameColumnVerifyAllUpdatedcallsSqliteMutationResolverTest::testResolveAlterTableRenameColumnWithoutColumnKeywordcallsSqliteMutationResolverTest::testResolveAlterTableRenameTablecallsSqliteMutationResolverTest::testResolveAlterTableRenameToDropsOldTablecallsSqliteMutationResolverTest::testResolveAlterTableRenameToLowercasecallsSqliteMutationResolverTest::testResolveAlterTableRenameWithoutColumnKeywordcallsSqliteMutationResolverTest::testResolveAlterTableUnknownThrowscallsSqliteMutationResolverTest::testResolveAlterTableUnsupportedOperationThrowscallsSqliteMutationResolverTest::testResolveAlterTableUnsupportedOperationThrowsForUnknownActioncallsSqliteMutationResolverTest::testResolveAlterTableWithAddWithoutColumnKeywordDetectedcallsSqliteMutationResolverTest::testResolveAlterTableWithoutTargetThrowscallsSqliteMutationResolverTest::testResolveCreateTablecallsSqliteMutationResolverTest::testResolveCreateTableAlreadyExistsNoIfNotExistsThrowscallsSqliteMutationResolverTest::testResolveCreateTableAlreadyExistsThrowscallsSqliteMutationResolverTest::testResolveCreateTableCaseInsensitiveIfNotExistscallsSqliteMutationResolverTest::testResolveCreateTableIfNotExistscallsSqliteMutationResolverTest::testResolveCreateTableIfNotExistsExistingTableLowercasecallsSqliteMutationResolverTest::testResolveCreateTableIfNotExistsExistingTableNoErrorcallsSqliteMutationResolverTest::testResolveCreateTableIfNotExistsLowercasecallsSqliteMutationResolverTest::testResolveCreateTableIfNotExistsLowercaseDoesNotThrowcallsSqliteMutationResolverTest::testResolveCreateTableIfNotExistsWithoutExistingTablecallsSqliteMutationResolverTest::testResolveCreateTableTableNamecallsSqliteMutationResolverTest::testResolveCreateTableWithoutIfNotExistsAlreadyExistsThrowscallsSqliteMutationResolverTest::testResolveCreateTableWithoutTargetThrowscallsSqliteMutationResolverTest::testResolveDeletecallsSqliteMutationResolverTest::testResolveDeleteCaseInsensitiveRegexcallsSqliteMutationResolverTest::testResolveDeleteEnsuresShadowStorecallsSqliteMutationResolverTest::testResolveDeleteEnsuresShadowStoreEntryCreatedcallsSqliteMutationResolverTest::testResolveDeleteFullTableLowercaseMatchesRegexcallsSqliteMutationResolverTest::testResolveDeleteFullTableWithoutWherecallsSqliteMutationResolverTest::testResolveDeleteLowercaseSqlcallsSqliteMutationResolverTest::testResolveDeleteTableNamecallsSqliteMutationResolverTest::testResolveDeleteUnknownTableThrowscallsSqliteMutationResolverTest::testResolveDeleteWithCommentsMatchesRegexcallsSqliteMutationResolverTest::testResolveDeleteWithDefinitionReturnsPrimaryKeyscallsSqliteMutationResolverTest::testResolveDeleteWithExistingRowscallsSqliteMutationResolverTest::testResolveDeleteWithLeadingWhitespaceLowercasecallsSqliteMutationResolverTest::testResolveDeleteWithOnlyTableNameNoWhereNoTrailingcallsSqliteMutationResolverTest::testResolveDeleteWithoutDefinitionAndNoRowsThrowscallsSqliteMutationResolverTest::testResolveDeleteWithoutDefinitionButWithShadowRowscallsSqliteMutationResolverTest::testResolveDeleteWithoutTargetThrowscallsSqliteMutationResolverTest::testResolveDeleteWithStrippedCommentsMatchesRegexcallsSqliteMutationResolverTest::testResolveDropTablecallsSqliteMutationResolverTest::testResolveDropTableCaseInsensitiveIfExistscallsSqliteMutationResolverTest::testResolveDropTableExistingReturnsDropMutationcallsSqliteMutationResolverTest::testResolveDropTableIfExistscallsSqliteMutationResolverTest::testResolveDropTableIfExistsLowercasecallsSqliteMutationResolverTest::testResolveDropTableIfExistsLowercaseRegexcallsSqliteMutationResolverTest::testResolveDropTableIfExistsOnNonExistentTableDoesNotThrowcallsSqliteMutationResolverTest::testResolveDropTableNonExistentWithoutIfExistsThrowscallsSqliteMutationResolverTest::testResolveDropTableTableNamecallsSqliteMutationResolverTest::testResolveDropTableUnknownThrowscallsSqliteMutationResolverTest::testResolveDropTableWithoutTargetThrowscallsSqliteMutationResolverTest::testResolveEmptyReturnsNullcallsSqliteMutationResolverTest::testResolveInsertcallsSqliteMutationResolverTest::testResolveInsertIgnorecallsSqliteMutationResolverTest::testResolveInsertIgnoreWithDefinitionReturnsPrimaryKeyscallsSqliteMutationResolverTest::testResolveInsertIgnoreWithoutDefinitionReturnsEmptyPrimaryKeyscallsSqliteMutationResolverTest::testResolveInsertIgnoreWithPrimaryKeyscallsSqliteMutationResolverTest::testResolveInsertIgnoreWithPrimaryKeysReturnsInsertMutationcallsSqliteMutationResolverTest::testResolveInsertIsReplaceReturnsPrimaryKeyscallsSqliteMutationResolverTest::testResolveInsertOnConflictDoNothingIsIgnorecallsSqliteMutationResolverTest::testResolveInsertOrReplacecallsSqliteMutationResolverTest::testResolveInsertTableNamecallsSqliteMutationResolverTest::testResolveInsertWithoutTargetThrowscallsSqliteMutationResolverTest::testResolveOnConflictDoNothingIsNotUpsertcallsSqliteMutationResolverTest::testResolveOnConflictWithEmptyUpdatesReturnsInsertcallsSqliteMutationResolverTest::testResolveReplacecallsSqliteMutationResolverTest::testResolveReplaceTableNamecallsSqliteMutationResolverTest::testResolveReturnsNullForUnclassifiableStatementcallsSqliteMutationResolverTest::testResolveReturnsNullForUnsupportedClassificationcallsSqliteMutationResolverTest::testResolveSelectReturnsNullcallsSqliteMutationResolverTest::testResolveUnknownUpdateDoesNotCreateShadowStoreEntrycallsSqliteMutationResolverTest::testResolveUnsupportedReturnsNullcallsSqliteMutationResolverTest::testResolveUpdatecallsSqliteMutationResolverTest::testResolveUpdateEnsuresShadowStoreWithDefinitioncallsSqliteMutationResolverTest::testResolveUpdatePrimaryKeysFromDefinitioncallsSqliteMutationResolverTest::testResolveUpdateWithDefinitionReturnsPrimaryKeyscallsSqliteMutationResolverTest::testResolveUpdateWithoutContextThrowsUnknownSchemacallsSqliteMutationResolverTest::testResolveUpdateWithoutDefinitionHasEmptyPrimaryKeyscallsSqliteMutationResolverTest::testResolveUpdateWithoutDefinitionReturnsEmptyPrimaryKeyscallsSqliteMutationResolverTest::testResolveUpdateWithoutTargetContextThrowsUnknownSchemacallsSqliteMutationResolverTest::testResolveUpdateWithoutTargetThrowscallsSqliteMutationResolverTest::testResolveUpdateWithPrimaryKeyscallsSqliteMutationResolverTest::testResolveUpsertcallsSqliteMutationResolverTest::testResolveUpsertTableNameAndUpdateColumnscallsSqliteMutationResolverTest::testResolveUpsertWithDefinitionPrimaryKeyscallsSqliteMutationResolverTest::testResolveUpsertWithDefinitionReturnsPrimaryKeyscallsSqliteMutationResolverTest::testResolveUpsertWithoutDefinitionReturnsEmptyPrimaryKeyscallsSqliteMutationResolverTest::testUpdateDoesNotTreatRowsFromUnknownInsertAsSchemacallsTableTransitionsTest::testOfAnswersOneEntryPerTableSomethingHappenedTocallsTableTransitionsTest::testOfLeavesOutATableNothingHappenedTocallsTableTransitionsTest::testOfReadsTheResultRowsOnlyForTheTableAnUpdateNamescallsStatementSimulatorTest::testReadStatementReturnsFalseWhenExecutorFailscallsStatementSimulatorTest::testReadStatementReturnsRowCountcallsStatementSimulatorTest::testSimulateRefusesAWriteThePlanCarriesNoMutationForcallsStatementSimulatorTest::testUnsupportedSqlThrowscallsStatementSimulatorTest::testWriteStatementUpdatesShadowStorecallsMySqlTransactionStatementParserTest::testAppliesUnescapedMySqlSavepointNamecallsPgSqlTransactionStatementParserTest::testAppliesUnescapedPostgresSavepointNamecallsSqliteTransactionStatementParserTest::testAppliesUnescapedSqliteSavepointNamecallsTransactionStatementParserTest::testParseReadsAStatementThatDeclaresASavepointcallsTransactionStatementParserTest::testParseReadsAStatementThatGivesUpASavepointcallsTransactionStatementParserTest::testParseReadsAStatementThatOpensATransactioncallsTransactionStatementTest::testApplyDoesWhatEachOperationSayscallsTransactionStatementTest::testBeginStartsATransactionARollbackCanGoBackTocallsTransactionStatementTest::testCommitKeepsEverythingTheTransactionDidcallsTransactionStatementTest::testReleaseCommitAppliesNamedTransactionLifecycleWithoutSqlcallsTransactionStatementTest::testRollbackAppliesRollbackcallsTransactionStatementTest::testRollbackToGoesBackToTheSavepointAndLeavesItDeclaredcallsTransactionStatementTest::testSavepointPreservesTheNamedTransactionBoundarycallsZtdMysqliStatementTest::testAttr_getReadsTheConfiguredNativeCursorModecallsZtdMysqliStatementTest::testAttr_setUpdatesTheNativeCursorModecallsZtdMysqliStatementTest::testCloseClosesTheDelegatedStatementcallsZtdMysqliStatementTest::testData_seekMovesTheNativeCursorcallsZtdMysqliStatementTest::testExecuteAppliesRowsToTheShadowStorecallsZtdMysqliStatementTest::testExecuteDoesNotRunASkippedPlancallsZtdMysqliStatementTest::testExecuteHonorsReadAndUnplannedParameterscallsZtdMysqliStatementTest::testExecuteReturnsFalseForNativeFailurescallsZtdMysqliStatementTest::testFetchWritesBoundResultVariablescallsZtdMysqliStatementTest::testFree_resultReleasesBufferedRowscallsZtdMysqliStatementTest::testGet_resultConsumesTheCachedNativeResultOncecallsZtdMysqliStatementTest::testGet_resultReturnsFalseForAStatementWithoutRowscallsZtdMysqliStatementTest::testGet_warningsReturnsTheNativeWarningcallsZtdMysqliStatementTest::testMore_resultsReturnsFalseAfterASingleResultcallsZtdMysqliStatementTest::testNext_resultReturnsFalseWithoutAnotherResultcallsZtdMysqliStatementTest::testNum_rowsReturnsTheNativeBufferedCountcallsZtdMysqliStatementTest::testPrepareReplacesTheDelegatedStatementcallsZtdMysqliStatementTest::testResetClearsTheSimulatedAffectedRowCountcallsZtdMysqliStatementTest::testResult_metadataReturnsNativeColumnInformationcallsZtdMysqliStatementTest::testSend_long_dataConcatenatesBinaryChunkscallsZtdMysqliStatementTest::testStore_resultBuffersTheNativeRowscallsZtdMysqliStatementTest::testZtdAffectedRowsReturnsTheNativeWriteCountcallsZtdMysqliTest::testAutocommitCommitsOrRollsBackTheShadowScopecallsZtdMysqliTest::testBegin_transactionCreatesAShadowRollbackScopecallsZtdMysqliTest::testCommitRetainsTheShadowRowscallsZtdMysqliTest::testConnectUsesTheSuppliedNativeCredentialscallsZtdMysqliTest::testFromMysqliPassesTheConnectionAndConfigurationToItsFactorycallsZtdMysqliTest::testPrepareAndQueriesPreserveNativeFalseResultscallsZtdMysqliTest::testPrepareWrapsRewriteFailurescallsZtdMysqliTest::testQueryReturnsFalseWhenThePreparedExecutionFailscallsZtdMysqliTest::testQueryReturnsTrueWithoutAResultSetcallsZtdMysqliTest::testReal_connectConnectsAnInitializedNativeHandlecallsZtdMysqliTest::testReal_queryAppliesTransactionStatementscallsZtdMysqliTest::testRelease_savepointRemovesTheNativeAndShadowSavepointscallsZtdMysqliTest::testRollbackRestoresTheShadowSnapshotcallsZtdMysqliTest::testSavepointPreservesItsShadowSnapshotcallsZtdPdoStatementTest::testBindValueDelegatesToInnercallsZtdPdoStatementTest::testCloseCursorDelegatesToInnercallsZtdPdoStatementTest::testColumnCountDelegatesToInnercallsZtdPdoStatementTest::testExecuteDelegatesWhenNoPlancallsZtdPdoStatementTest::testExecuteDelegatesWhenNoPostProcessingNeededcallsZtdPdoStatementTest::testExecuteReturnsFalseWhenShouldExecuteIsFalsecallsZtdPdoStatementTest::testExecuteWithoutPostProcessingRunsNativeStatementOncecallsZtdPdoStatementTest::testExecuteWrapsSimulationFailureAsAdapterExceptioncallsZtdPdoStatementTest::testRowCountDelegatesToInnerWhenNoResultcalls
Relations§
Instantiated in 3
- new ZtdQuery\Platform\MySql\MySqlSessionFactory::create() packages/ztd-query-mysql/src/MySqlSessionFactory.php:44
- new ZtdQuery\Platform\Postgres\PgSqlSessionFactory::create() packages/ztd-query-postgres/src/PgSqlSessionFactory.php:56
- new ZtdQuery\Platform\Sqlite\SqliteSessionFactory::create() packages/ztd-query-sqlite/src/SqliteSessionFactory.php:44
Method calls 69
- method-call ZtdQuery\Shadow\ForeignKeyCascade::of() packages/ztd-query-core/src/Shadow/ForeignKeyCascade.php:73
- method-call ZtdQuery\Shadow\ForeignKeyCascade::of() packages/ztd-query-core/src/Shadow/ForeignKeyCascade.php:84
- method-call ZtdQuery\Shadow\ForeignKeyIntegrity::assertHolds() packages/ztd-query-core/src/Shadow/ForeignKeyIntegrity.php:52
- method-call ZtdQuery\Shadow\Mutation\Row\DeleteMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Row/DeleteMutation.php:45
- method-call ZtdQuery\Shadow\Mutation\Row\InsertMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Row/InsertMutation.php:104
- method-call ZtdQuery\Shadow\Mutation\Row\InsertMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Row/InsertMutation.php:136
- method-call ZtdQuery\Shadow\Mutation\Row\MultiDeleteMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Row/MultiDeleteMutation.php:50
- method-call ZtdQuery\Shadow\Mutation\Row\MultiUpdateMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Row/MultiUpdateMutation.php:50
- method-call ZtdQuery\Shadow\Mutation\Row\ReplaceMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Row/ReplaceMutation.php:42
- method-call ZtdQuery\Shadow\Mutation\Row\ReplaceMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Row/ReplaceMutation.php:50
- method-call ZtdQuery\Shadow\Mutation\Row\ReplaceMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Row/ReplaceMutation.php:51
- method-call ZtdQuery\Shadow\Mutation\Row\UpdateMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Row/UpdateMutation.php:92
- method-call ZtdQuery\Shadow\Mutation\Row\UpdateMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Row/UpdateMutation.php:100
- method-call ZtdQuery\Shadow\Mutation\Table\CreateTableAsSelectMutation::applyResultSet() packages/ztd-query-core/src/Shadow/Mutation/Table/CreateTableAsSelectMutation.php:103
- method-call ZtdQuery\Shadow\Mutation\Table\CreateTableLikeMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Table/CreateTableLikeMutation.php:64
- method-call ZtdQuery\Shadow\Mutation\Table\CreateTableMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Table/CreateTableMutation.php:64
- method-call ZtdQuery\Shadow\Mutation\Table\DropTableMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Table/DropTableMutation.php:58
- method-call ZtdQuery\Shadow\Mutation\Table\MultiTruncateMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Table/MultiTruncateMutation.php:29
- method-call ZtdQuery\Shadow\Mutation\Table\SynchronizeMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Table/SynchronizeMutation.php:70
- method-call ZtdQuery\Shadow\Mutation\Table\TruncateMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/Table/TruncateMutation.php:37
- method-call ZtdQuery\Shadow\Mutation\UpsertMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/UpsertMutation.php:119
- method-call ZtdQuery\Shadow\Mutation\UpsertMutation::apply() packages/ztd-query-core/src/Shadow/Mutation/UpsertMutation.php:146
- method-call ZtdQuery\Shadow\ParentKeyLookup::exists() packages/ztd-query-core/src/Shadow/ParentKeyLookup.php:40
- method-call ZtdQuery\Shadow\ShadowApplication::apply() packages/ztd-query-core/src/Shadow/ShadowApplication.php:58
- method-call ZtdQuery\Shadow\ShadowApplication::apply() packages/ztd-query-core/src/Shadow/ShadowApplication.php:59
- method-call ZtdQuery\Shadow\ShadowApplication::apply() packages/ztd-query-core/src/Shadow/ShadowApplication.php:74
- method-call ZtdQuery\Shadow\ShadowApplication::apply() packages/ztd-query-core/src/Shadow/ShadowApplication.php:83
- method-call ZtdQuery\Shadow\ShadowSavepoint::of() packages/ztd-query-core/src/Shadow/ShadowSavepoint.php:49
- method-call ZtdQuery\Shadow\ShadowSavepoint::restoreInto() packages/ztd-query-core/src/Shadow/ShadowSavepoint.php:62
- method-call ZtdQuery\Shadow\TableTransitions::of() packages/ztd-query-core/src/Shadow/TableTransitions.php:60
- method-call ZtdQuery\Shadow\TableTransitions::of() packages/ztd-query-core/src/Shadow/TableTransitions.php:64
- method-call ZtdQuery\Shadow\TableTransitions::of() packages/ztd-query-core/src/Shadow/TableTransitions.php:65
- method-call ZtdQuery\Platform\MySql\Rewrite\Context\TableContext::buildTableContext() packages/ztd-query-mysql/src/Rewrite/Context/TableContext.php:52
- method-call ZtdQuery\Platform\MySql\Rewrite\Context\TableContext::tableExists() packages/ztd-query-mysql/src/Rewrite/Context/TableContext.php:120
- method-call ZtdQuery\Platform\MySql\Rewrite\Context\TableContext::hasSchemaContext() packages/ztd-query-mysql/src/Rewrite/Context/TableContext.php:140
- method-call ZtdQuery\Platform\MySql\Rewrite\Validation\ReplaceColumns::ensureReplaceColumns() packages/ztd-query-mysql/src/Rewrite/Validation/ReplaceColumns.php:42
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::resolveUpdate() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:61
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::resolveUpdate() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:65
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::resolveUpdate() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:66
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::resolveDelete() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:102
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::resolveDelete() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:114
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::resolveDelete() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:118
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::multiTableTargets() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:141
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::multiTableTargets() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:148
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::multiTableTargets() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:152
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\OperationApplier::applyRenameTable() packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/OperationApplier.php:80
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\OperationApplier::applyRenameTable() packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/OperationApplier.php:81
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\OperationApplier::applyRenameTable() packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/OperationApplier.php:82
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\StoredColumns::removeColumnFromStore() packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/StoredColumns.php:27
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\StoredColumns::removeColumnFromStore() packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/StoredColumns.php:37
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\StoredColumns::renameColumnInStore() packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/StoredColumns.php:45
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\StoredColumns::renameColumnInStore() packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/StoredColumns.php:58
- method-call ZtdQuery\Platform\Postgres\Rewrite\Context\TableContext::tableExists() packages/ztd-query-postgres/src/Rewrite/Context/TableContext.php:74
- method-call ZtdQuery\Platform\Postgres\Rewrite\Context\TableContext::hasSchemaContext() packages/ztd-query-postgres/src/Rewrite/Context/TableContext.php:94
- method-call ZtdQuery\Platform\Postgres\Rewrite\StatementRewriter::rewriteStatement() packages/ztd-query-postgres/src/Rewrite/StatementRewriter.php:82
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveUpdate() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:113
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveUpdate() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:118
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveDelete() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:137
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveDelete() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:142
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveMerge() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:157
- method-call ZtdQuery\Platform\Sqlite\Rewrite\Context\ReferencedTableLookup::tableExists() packages/ztd-query-sqlite/src/Rewrite/Context/ReferencedTableLookup.php:62
- method-call ZtdQuery\Platform\Sqlite\Rewrite\Context\ReferencedTableLookup::hasSchemaContext() packages/ztd-query-sqlite/src/Rewrite/Context/ReferencedTableLookup.php:86
- method-call ZtdQuery\Platform\Sqlite\Rewrite\StatementRewriter::rewriteStatement() packages/ztd-query-sqlite/src/Rewrite/StatementRewriter.php:66
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\AlterTableMutation::apply() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/AlterTableMutation.php:44
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\AlterTableMutation::apply() packages/ztd-query-sqlite/src/Shadow/Mutation/Table/AlterTableMutation.php:46
- method-call ZtdQuery\Platform\Sqlite\Shadow\Resolution\RowMutationResolver::resolveUpdate() packages/ztd-query-sqlite/src/Shadow/Resolution/RowMutationResolver.php:48
- method-call ZtdQuery\Platform\Sqlite\Shadow\Resolution\RowMutationResolver::resolveUpdate() packages/ztd-query-sqlite/src/Shadow/Resolution/RowMutationResolver.php:52
- method-call ZtdQuery\Platform\Sqlite\Shadow\Resolution\RowMutationResolver::resolveDelete() packages/ztd-query-sqlite/src/Shadow/Resolution/RowMutationResolver.php:72
- method-call ZtdQuery\Platform\Sqlite\Shadow\Resolution\RowMutationResolver::resolveDelete() packages/ztd-query-sqlite/src/Shadow/Resolution/RowMutationResolver.php:76
Type declarations 65
- type ZtdQuery\Session packages/ztd-query-core/src/Session.php:85
- type ZtdQuery\Shadow\ForeignKeyCascade packages/ztd-query-core/src/Shadow/ForeignKeyCascade.php:60
- type ZtdQuery\Shadow\ForeignKeyCascade packages/ztd-query-core/src/Shadow/ForeignKeyCascade.php:105
- type ZtdQuery\Shadow\ForeignKeyCascade packages/ztd-query-core/src/Shadow/ForeignKeyCascade.php:141
- type ZtdQuery\Shadow\ForeignKeyIntegrity packages/ztd-query-core/src/Shadow/ForeignKeyIntegrity.php:43
- type ZtdQuery\Shadow\Mutation\Row\DeleteMutation packages/ztd-query-core/src/Shadow/Mutation/Row/DeleteMutation.php:43
- type ZtdQuery\Shadow\Mutation\Row\InsertMutation packages/ztd-query-core/src/Shadow/Mutation/Row/InsertMutation.php:102
- type ZtdQuery\Shadow\Mutation\Row\MultiDeleteMutation packages/ztd-query-core/src/Shadow/Mutation/Row/MultiDeleteMutation.php:38
- type ZtdQuery\Shadow\Mutation\Row\MultiUpdateMutation packages/ztd-query-core/src/Shadow/Mutation/Row/MultiUpdateMutation.php:38
- type ZtdQuery\Shadow\Mutation\Row\ReplaceMutation packages/ztd-query-core/src/Shadow/Mutation/Row/ReplaceMutation.php:40
- type ZtdQuery\Shadow\Mutation\Row\ResultSetMutation packages/ztd-query-core/src/Shadow/Mutation/Row/ResultSetMutation.php:22
- type ZtdQuery\Shadow\Mutation\Row\UpdateMutation packages/ztd-query-core/src/Shadow/Mutation/Row/UpdateMutation.php:82
- type ZtdQuery\Shadow\Mutation\ShadowMutation packages/ztd-query-core/src/Shadow/Mutation/ShadowMutation.php:30
- type ZtdQuery\Shadow\Mutation\Table\CreateTableAsSelectMutation packages/ztd-query-core/src/Shadow/Mutation/Table/CreateTableAsSelectMutation.php:55
- type ZtdQuery\Shadow\Mutation\Table\CreateTableAsSelectMutation packages/ztd-query-core/src/Shadow/Mutation/Table/CreateTableAsSelectMutation.php:63
- type ZtdQuery\Shadow\Mutation\Table\CreateTableLikeMutation packages/ztd-query-core/src/Shadow/Mutation/Table/CreateTableLikeMutation.php:49
- type ZtdQuery\Shadow\Mutation\Table\CreateTableMutation packages/ztd-query-core/src/Shadow/Mutation/Table/CreateTableMutation.php:51
- type ZtdQuery\Shadow\Mutation\Table\DropTableMutation packages/ztd-query-core/src/Shadow/Mutation/Table/DropTableMutation.php:48
- type ZtdQuery\Shadow\Mutation\Table\MultiTruncateMutation packages/ztd-query-core/src/Shadow/Mutation/Table/MultiTruncateMutation.php:26
- type ZtdQuery\Shadow\Mutation\Table\SynchronizeMutation packages/ztd-query-core/src/Shadow/Mutation/Table/SynchronizeMutation.php:46
- type ZtdQuery\Shadow\Mutation\Table\TruncateMutation packages/ztd-query-core/src/Shadow/Mutation/Table/TruncateMutation.php:35
- type ZtdQuery\Shadow\Mutation\UpsertMutation packages/ztd-query-core/src/Shadow/Mutation/UpsertMutation.php:117
- type ZtdQuery\Shadow\ParentKeyLookup packages/ztd-query-core/src/Shadow/ParentKeyLookup.php:38
- type ZtdQuery\Shadow\ReferentialIntegrityEnforcer packages/ztd-query-core/src/Shadow/ReferentialIntegrityEnforcer.php:45
- type ZtdQuery\Shadow\ReferentialIntegrityEnforcer packages/ztd-query-core/src/Shadow/ReferentialIntegrityEnforcer.php:46
- type ZtdQuery\Shadow\ShadowApplication packages/ztd-query-core/src/Shadow/ShadowApplication.php:38
- type ZtdQuery\Shadow\ShadowSavepoint packages/ztd-query-core/src/Shadow/ShadowSavepoint.php:31
- type ZtdQuery\Shadow\ShadowSavepoint packages/ztd-query-core/src/Shadow/ShadowSavepoint.php:45
- type ZtdQuery\Shadow\ShadowSavepoint packages/ztd-query-core/src/Shadow/ShadowSavepoint.php:60
- type ZtdQuery\Shadow\ShadowTransactions packages/ztd-query-core/src/Shadow/ShadowTransactions.php:43
- type ZtdQuery\Shadow\TableTransitions packages/ztd-query-core/src/Shadow/TableTransitions.php:55
- type ZtdQuery\Platform\MySql\Rewrite\Context\TableContext packages/ztd-query-mysql/src/Rewrite/Context/TableContext.php:33
- type ZtdQuery\Platform\MySql\Rewrite\MySqlRewriter packages/ztd-query-mysql/src/Rewrite/MySqlRewriter.php:44
- type ZtdQuery\Platform\MySql\Rewrite\MySqlRewriter packages/ztd-query-mysql/src/Rewrite/MySqlRewriter.php:57
- type ZtdQuery\Platform\MySql\Rewrite\StatementRewriter packages/ztd-query-mysql/src/Rewrite/StatementRewriter.php:35
- type ZtdQuery\Platform\MySql\Rewrite\Validation\ReplaceColumns packages/ztd-query-mysql/src/Rewrite/Validation/ReplaceColumns.php:22
- type ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:41
- type ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\ColumnAlteration packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/ColumnAlteration.php:58
- type ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\ColumnAlteration packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/ColumnAlteration.php:121
- type ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\ColumnAlteration packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/ColumnAlteration.php:163
- type ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\OperationApplier packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/OperationApplier.php:32
- type ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\OperationApplier packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/OperationApplier.php:71
- type ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\StoredColumns packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/StoredColumns.php:25
- type ZtdQuery\Platform\MySql\Shadow\Mutation\Table\Alter\StoredColumns packages/ztd-query-mysql/src/Shadow/Mutation/Table/Alter/StoredColumns.php:43
- type ZtdQuery\Platform\MySql\Shadow\Mutation\Table\AlterTableMutation packages/ztd-query-mysql/src/Shadow/Mutation/Table/AlterTableMutation.php:47
- type ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:34
- type ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:44
- type ZtdQuery\Platform\Postgres\Rewrite\Context\TableContext packages/ztd-query-postgres/src/Rewrite/Context/TableContext.php:23
- type ZtdQuery\Platform\Postgres\Rewrite\Context\TableContext packages/ztd-query-postgres/src/Rewrite/Context/TableContext.php:29
- type ZtdQuery\Platform\Postgres\Rewrite\PgSqlRewriter packages/ztd-query-postgres/src/Rewrite/PgSqlRewriter.php:63
- type ZtdQuery\Platform\Postgres\Rewrite\PgSqlRewriter packages/ztd-query-postgres/src/Rewrite/PgSqlRewriter.php:78
- type ZtdQuery\Platform\Postgres\Rewrite\StatementRewriter packages/ztd-query-postgres/src/Rewrite/StatementRewriter.php:38
- type ZtdQuery\Platform\Postgres\Rewrite\StatementRewriter packages/ztd-query-postgres/src/Rewrite/StatementRewriter.php:45
- type ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:33
- type ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:38
- type ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver packages/ztd-query-postgres/src/Shadow/PgSqlMutationResolver.php:22
- type ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver packages/ztd-query-postgres/src/Shadow/PgSqlMutationResolver.php:32
- type ZtdQuery\Platform\Sqlite\Rewrite\Context\ReferencedTableLookup packages/ztd-query-sqlite/src/Rewrite/Context/ReferencedTableLookup.php:27
- type ZtdQuery\Platform\Sqlite\Rewrite\SqliteRewriter packages/ztd-query-sqlite/src/Rewrite/SqliteRewriter.php:57
- type ZtdQuery\Platform\Sqlite\Rewrite\SqliteRewriter packages/ztd-query-sqlite/src/Rewrite/SqliteRewriter.php:81
- type ZtdQuery\Platform\Sqlite\Rewrite\StatementRewriter packages/ztd-query-sqlite/src/Rewrite/StatementRewriter.php:44
- type ZtdQuery\Platform\Sqlite\Shadow\Mutation\Table\AlterTableMutation packages/ztd-query-sqlite/src/Shadow/Mutation/Table/AlterTableMutation.php:35
- type ZtdQuery\Platform\Sqlite\Shadow\Resolution\RowMutationResolver packages/ztd-query-sqlite/src/Shadow/Resolution/RowMutationResolver.php:30
- type ZtdQuery\Platform\Sqlite\Shadow\SqliteMutationResolver packages/ztd-query-sqlite/src/Shadow/SqliteMutationResolver.php:20
- type ZtdQuery\Platform\Sqlite\Shadow\SqliteMutationResolver packages/ztd-query-sqlite/src/Shadow/SqliteMutationResolver.php:29