classMySqlParser
final class MySqlParser
MySQL parser implementation backed by phpMyAdmin SQL parser.
Methods§
public function parse(string $sql): list<Statement>Parse SQL into an array of statements with PHP 8.5+ compatibility.
Suppresses warnings for large number to int conversion that occur in phpmyadmin/sql-parser when parsing SQL with very large numeric literals.
Parameters
$sql | string |
Returns
list<Statement>Test cases 86
ParserBench::benchParseInsertcallsParserBench::benchParseSelectcallsMySqlQueryGuardTest::testClassifyStatementReturnsReadForParsedSelectDirectlycallsMySqlMutationResolverTest::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::testUpdateUsesColumnsFromStoreWhenAvailablecallsMySqlParserTest::testErrorHandlerIsRestoredAfterParsecallsMySqlParserTest::testLeavesEmptyAndIncompleteInsertStatementsForParserValidationcallsMySqlParserTest::testLeavesExplicitIntoAndNonInsertStatementsUnchangedcallsMySqlParserTest::testNormalizesOptionalIntoAfterModifiersAndCommentscallsMySqlParserTest::testNormalizesOptionalIntoWithoutModifierscallsMySqlParserTest::testParseAndBuildRoundTripcallsMySqlParserTest::testParseReturnsListIndexedArraycallsMySqlParserTest::testParseWithLargeIntLiteralDoesNotWarncalls
Called from 9
- method-call ZtdQuery\Platform\MySql\Rewrite\StatementRewriter::mutationStatement() packages/ztd-query-mysql/src/Rewrite/StatementRewriter.php:99
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\DeleteTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/DeleteTransformer.php:42
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\InsertTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/InsertTransformer.php:59
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\MySqlTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/MySqlTransformer.php:60
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\MySqlTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/MySqlTransformer.php:69
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\ReplaceTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/ReplaceTransformer.php:38
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\UpdateTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/UpdateTransformer.php:45
- method-call ZtdQuery\Platform\MySql\Schema\MySqlSchemaParser::parse() packages/ztd-query-mysql/src/Schema/MySqlSchemaParser.php:34
- method-call ZtdQuery\Platform\MySql\Sql\MySqlParser::parseSingleLogicalStatement() packages/ztd-query-mysql/src/Sql/MySqlParser.php:60
Calls 7
- function-call
set_error_handlerline 28 - function-call
str_containsline 29 - new
Parserline 36 - method-call OptionalInsertIntoNormalizer::normalizeOptionalInsertInto() line 36
- new OptionalInsertIntoNormalizer line 36
- function-call
array_valuesline 37 - function-call
restore_error_handlerline 39
public function splitStatements(string $sql): list<string>Parameters
$sql | string |
Returns
list<string>Test cases 1
Called from 3
- method-call ZtdQuery\Platform\MySql\Rewrite\MySqlRewriter::rewrite() packages/ztd-query-mysql/src/Rewrite/MySqlRewriter.php:82
- method-call ZtdQuery\Platform\MySql\Rewrite\MySqlRewriter::splitStatements() packages/ztd-query-mysql/src/Rewrite/MySqlRewriter.php:132
- method-call ZtdQuery\Platform\MySql\Sql\MySqlParser::parseSingleLogicalStatement() packages/ztd-query-mysql/src/Sql/MySqlParser.php:56
Calls 2
- static-call SqlTokenStream::tokenize() line 48
- static-call MySqlLexerProfile::create() line 48
public function parseSingleLogicalStatement(string $sql): ?StatementParse Single Logical Statement for the supplied MySQL input.
Parameters
$sql | string |
Returns
?StatementTest cases 25
MySqlLoadDataProjectorTest::testDecodesControlEscapesAndEscapedRecordTerminatorscallsMySqlLoadDataProjectorTest::testDefaultTargetsPreserveValuePositionsAroundGeneratedColumnscallsMySqlLoadDataProjectorTest::testDistinguishesQuotedNullAndDoubledEnclosurescallsMySqlLoadDataProjectorTest::testEmptyExplicitColumnListHasNoTargetColumnscallsMySqlLoadDataProjectorTest::testFieldStateHandlesFirstFieldEnclosuresAndFinalEscapeBoundariescallsMySqlLoadDataProjectorTest::testIgnoreRowsSkipsCompleteRecordsWithoutARequiredPrefixcallsMySqlLoadDataProjectorTest::testNoIgnoreClauseKeepsEveryRecordcallsMySqlLoadDataProjectorTest::testProjectsCsvPrefixesIgnoredRowsUserVariablesAndSetExpressionscallsMySqlLoadDataProjectorTest::testProjectsDefaultTabSeparatedInputAndNullMarkercallsMySqlLoadDataProjectorTest::testProjectsEmptyInputAsAnEmptySelectcallsMySqlLoadDataProjectorTest::testProjectsEverySetTargetcallsMySqlLoadDataProjectorTest::testProjectsReplaceAndMissingFieldsAsDefaultcallsMySqlLoadDataProjectorTest::testRejectsAMissingTargetBeforeReadingTheInputcallsMySqlLoadDataProjectorTest::testRejectsAReadableDirectoryAsANonFileInputcallsMySqlLoadDataProjectorTest::testRejectsGeneratedColumnTargetscallsMySqlLoadDataProjectorTest::testRejectsUnreadableInputBeforeProjectioncallsMySqlLoadDataProjectorTest::testRejectsUnsupportedLoadDataShapescallsMySqlLoadDataProjectorTest::testSetVariableSubstitutionIsForwardOnlyAndPreservesSystemVariablescallsDefinitionBuilderTest::testAddColumncallsDefinitionBuilderTest::testAddColumnOptionscallsDefinitionBuilderTest::testAddKeycallsPredicateCompilerTest::testListPredicatescallsPredicateCompilerTest::testRangePredicatescallsMySqlParserTest::testParseSingleLogicalStatementResolvesCompoundSelectParserArtifactsAsOneLogicalStatementcallsMySqlParserTest::testRejectsMultipleAndNonSelectParserContinuationscalls
Called from 2
Calls 4
- function-call
countline 56 - method-call MySqlParser::splitStatements() line 56
- method-call MySqlParser::parse() line 60
- function-call
array_sliceline 62
Test cases 746§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 11
MySqlParserTest::testErrorHandlerIsRestoredAfterParsecallsMySqlParserTest::testLeavesEmptyAndIncompleteInsertStatementsForParserValidationcallsMySqlParserTest::testLeavesExplicitIntoAndNonInsertStatementsUnchangedcallsMySqlParserTest::testNormalizesOptionalIntoAfterModifiersAndCommentscallsMySqlParserTest::testNormalizesOptionalIntoWithoutModifierscallsMySqlParserTest::testParseAndBuildRoundTripcallsMySqlParserTest::testParseReturnsListIndexedArraycallsMySqlParserTest::testParseSingleLogicalStatementResolvesCompoundSelectParserArtifactsAsOneLogicalStatementcallsMySqlParserTest::testParseWithLargeIntLiteralDoesNotWarncallsMySqlParserTest::testRejectsMultipleAndNonSelectParserContinuationscallsMySqlParserTest::testSplitStatementsSplitsActualStatementsWithoutSplittingSetExpressionscalls
Other tests reaching this symbol 735
ParserBench::benchParseInsertcallsParserBench::benchParseSelectcallsParserBench::setUpcallsRewriterBench::setUpcallsClassifyTarget::__invokecallsRewriteTarget::__invokecallsRobustnessTarget::__invokecallsMySqlSessionFactoryTestcallsMySqlLoadDataProjectorTest::testDecodesControlEscapesAndEscapedRecordTerminatorscallsMySqlLoadDataProjectorTest::testDefaultTargetsPreserveValuePositionsAroundGeneratedColumnscallsMySqlLoadDataProjectorTest::testDistinguishesQuotedNullAndDoubledEnclosurescallsMySqlLoadDataProjectorTest::testEmptyExplicitColumnListHasNoTargetColumnscallsMySqlLoadDataProjectorTest::testFieldStateHandlesFirstFieldEnclosuresAndFinalEscapeBoundariescallsMySqlLoadDataProjectorTest::testIgnoreRowsSkipsCompleteRecordsWithoutARequiredPrefixcallsMySqlLoadDataProjectorTest::testNoIgnoreClauseKeepsEveryRecordcallsMySqlLoadDataProjectorTest::testProjectsCsvPrefixesIgnoredRowsUserVariablesAndSetExpressionscallsMySqlLoadDataProjectorTest::testProjectsDefaultTabSeparatedInputAndNullMarkercallsMySqlLoadDataProjectorTest::testProjectsEmptyInputAsAnEmptySelectcallsMySqlLoadDataProjectorTest::testProjectsEverySetTargetcallsMySqlLoadDataProjectorTest::testProjectsReplaceAndMissingFieldsAsDefaultcallsMySqlLoadDataProjectorTest::testRejectsAMissingTargetBeforeReadingTheInputcallsMySqlLoadDataProjectorTest::testRejectsAReadableDirectoryAsANonFileInputcallsMySqlLoadDataProjectorTest::testRejectsGeneratedColumnTargetscallsMySqlLoadDataProjectorTest::testRejectsUnreadableInputBeforeProjectioncallsMySqlLoadDataProjectorTest::testRejectsUnsupportedLoadDataShapescallsMySqlLoadDataProjectorTest::testSetVariableSubstitutionIsForwardOnlyAndPreservesSystemVariablescallsMySqlQueryGuardTest::testAssertAllowedAcceptsParsedStatementcallsMySqlQueryGuardTest::testAssertAllowedDoesNotThrowForDdlcallsMySqlQueryGuardTest::testAssertAllowedDoesNotThrowForSelectcallsMySqlQueryGuardTest::testAssertAllowedDoesNotThrowForWritecallsMySqlQueryGuardTest::testAssertAllowedThrowsForSelectIntocallsMySqlQueryGuardTest::testAssertAllowedThrowsForUnsupportedSqlcallsMySqlQueryGuardTest::testAssertAllowedThrowsOnForbiddencallsMySqlQueryGuardTest::testAssertAllowedWithParsedStatementcallsMySqlQueryGuardTest::testClassifiesCreateIndexAsNullcallsMySqlQueryGuardTest::testClassifiesDdlStatementscallsMySqlQueryGuardTest::testClassifiesDropIndexAsNullcallsMySqlQueryGuardTest::testClassifiesEmptySqlAsNullcallsMySqlQueryGuardTest::testClassifiesInsertWithCompoundSelectAsOneWritecallsMySqlQueryGuardTest::testClassifiesLoadDataAsWriteSimulatedcallsMySqlQueryGuardTest::testClassifiesReadOnlyDiagnosticsAsReadcallsMySqlQueryGuardTest::testClassifiesReadStatementscallsMySqlQueryGuardTest::testClassifiesReplaceAsWriteSimulatedcallsMySqlQueryGuardTest::testClassifiesSelectIntoAsNullcallsMySqlQueryGuardTest::testClassifiesSingleSelectExpressionsSplitByThirdPartyParsercallsMySqlQueryGuardTest::testClassifiesTruncateAsWriteSimulatedcallsMySqlQueryGuardTest::testClassifiesWriteStatementscallsMySqlQueryGuardTest::testClassifyAlterNonTableDoesNotFallThroughToWithcallsMySqlQueryGuardTest::testClassifyAlterWithoutTableReturnsNullcallsMySqlQueryGuardTest::testClassifyCreateNonTableDoesNotFallThroughToAltercallsMySqlQueryGuardTest::testClassifyCreateViewReturnsNullcallsMySqlQueryGuardTest::testClassifyDropNonTableDoesNotFallThroughToAltercallsMySqlQueryGuardTest::testClassifyDropViewReturnsNullcallsMySqlQueryGuardTest::testClassifyMultipleStatementsReturnsNullcallsMySqlQueryGuardTest::testClassifyReplaceIsWriteSimulatedcallsMySqlQueryGuardTest::testClassifyReturnsNullForGarbageInputcallsMySqlQueryGuardTest::testClassifyStatementDropNonTableReturnsNullcallsMySqlQueryGuardTest::testClassifyStatementReturnsNullForAlterNonTableDirectlycallsMySqlQueryGuardTest::testClassifyStatementReturnsNullForCreateNonTableDirectlycallsMySqlQueryGuardTest::testClassifyStatementReturnsNullForDropNonTableDirectlycallsMySqlQueryGuardTest::testClassifyStatementReturnsReadForParsedSelectDirectlycallsMySqlQueryGuardTest::testClassifyStatementSelectIntoReturnsNullcallsMySqlQueryGuardTest::testClassifyStatementWithAlterNonTableReturnsNullcallsMySqlQueryGuardTest::testClassifyStatementWithCreateNonTableReturnsNullcallsMySqlQueryGuardTest::testClassifyTruncateIsWriteSimulatedcallsMySqlQueryGuardTest::testClassifyWithBacktickQuotedIdentifierFallbackcallsMySqlQueryGuardTest::testClassifyWithDeleteFallbackcallsMySqlQueryGuardTest::testClassifyWithDoubleQuotedStringFallbackcallsMySqlQueryGuardTest::testClassifyWithEscapedBackslashInStringFallbackcallsMySqlQueryGuardTest::testClassifyWithFallbackAlterFallsToDdlSimulatedcallsMySqlQueryGuardTest::testClassifyWithFallbackAlterInWithReturnsNullcallsMySqlQueryGuardTest::testClassifyWithFallbackBacktickNotEscapedByBackslashcallsMySqlQueryGuardTest::testClassifyWithFallbackBacktickQuotedIdentifiercallsMySqlQueryGuardTest::testClassifyWithFallbackCaseSensitiveKeywordHandlingcallsMySqlQueryGuardTest::testClassifyWithFallbackCreateFallsToDdlSimulatedcallsMySqlQueryGuardTest::testClassifyWithFallbackCreateInWithReturnsNullcallsMySqlQueryGuardTest::testClassifyWithFallbackDeleteInWithcallsMySqlQueryGuardTest::testClassifyWithFallbackDoubleQuotedStringcallsMySqlQueryGuardTest::testClassifyWithFallbackDropFallsToDdlSimulatedcallsMySqlQueryGuardTest::testClassifyWithFallbackDropInWithReturnsNullcallsMySqlQueryGuardTest::testClassifyWithFallbackEscapedQuoteInStringcallsMySqlQueryGuardTest::testClassifyWithFallbackInsertInWithcallsMySqlQueryGuardTest::testClassifyWithFallbackLowercaseKeywordscallsMySqlQueryGuardTest::testClassifyWithFallbackNestedSubquerySkipsKeywordsInParenscallsMySqlQueryGuardTest::testClassifyWithFallbackNonAlphaAfterKeywordcallsMySqlQueryGuardTest::testClassifyWithFallbackQuotedStringContainingKeywordcallsMySqlQueryGuardTest::testClassifyWithFallbackReplaceFallsToWriteSimulatedcallsMySqlQueryGuardTest::testClassifyWithFallbackReplaceInWithReturnsNullcallsMySqlQueryGuardTest::testClassifyWithFallbackSelectAfterCteFallsToReadcallsMySqlQueryGuardTest::testClassifyWithFallbackSingleQuoteWithBackslashEscapecallsMySqlQueryGuardTest::testClassifyWithFallbackTruncateFallsToWriteSimulatedcallsMySqlQueryGuardTest::testClassifyWithFallbackTruncateInWithReturnsNullcallsMySqlQueryGuardTest::testClassifyWithFallbackUnrecognizedKeywordFallsThroughcallsMySqlQueryGuardTest::testClassifyWithInsertFallbackcallsMySqlQueryGuardTest::testClassifyWithNestedParensFallbackcallsMySqlQueryGuardTest::testClassifyWithNullCteParserReturnsReadcallsMySqlQueryGuardTest::testClassifyWithQuotedStringsFallbackcallsMySqlQueryGuardTest::testClassifyWithSelectFallbackcallsMySqlQueryGuardTest::testClassifyWithStatementNoCteParsercallsMySqlQueryGuardTest::testCreateTableClassifiesAsDdlSimulatedcallsMySqlQueryGuardTest::testDeleteClassifiesAsWriteSimulatedcallsMySqlQueryGuardTest::testDropTableClassifiesAsDdlSimulatedcallsMySqlQueryGuardTest::testInsertClassifiesAsWriteSimulatedcallsMySqlQueryGuardTest::testReturnsNullForUnsupportedStatementscallsMySqlQueryGuardTest::testSelectClassifiesAsReadcallsMySqlQueryGuardTest::testUpdateClassifiesAsWriteSimulatedcallsMySqlRewriterTest::testAlterNonExistentTableThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testAlterTableAddColumnModifiesSchemacallsMySqlRewriterTest::testAlterTableChangeColumnRenamesColumncallsMySqlRewriterTest::testAlterTableDropColumnModifiesSchemacallsMySqlRewriterTest::testAlterTableModifyColumnModifiesSchemacallsMySqlRewriterTest::testAlterTableRenameRenamesTablecallsMySqlRewriterTest::testBuildTableContextColumnsFromStoreRowKeyscallsMySqlRewriterTest::testBuildTableContextIncludesRegistryDefinitionsNotInStorecallsMySqlRewriterTest::testBuildTableContextMergesShadowDataAndRegistryDefinitionscallsMySqlRewriterTest::testCommitRewriteStatecallsMySqlRewriterTest::testCompositeReadAllowsTablesWithoutSchemaContextcallsMySqlRewriterTest::testCompositeReadRejectsSelectIntocallsMySqlRewriterTest::testCompositeReadRejectsUnknownTableWithSchemaContextcallsMySqlRewriterTest::testCreateTableAsSelectCreatesTableWithDatacallsMySqlRewriterTest::testCreateTableIfNotExistsSkipsExistingTablecallsMySqlRewriterTest::testCreateTableLikeCopiesSchemacallsMySqlRewriterTest::testCreateTableLikeWithUnknownSourceThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testCreateTableMutationRegistersSchemacallsMySqlRewriterTest::testCreateTableReturnsDdlSimulatedcallsMySqlRewriterTest::testCreateTemporaryTableRegistersSchemacallsMySqlRewriterTest::testCteReferencesAreMatchedCaseInsensitivelyDuringSchemaValidationcallsMySqlRewriterTest::testDatabaseQualifiedSelectUsesShadowCtecallsMySqlRewriterTest::testDeleteReturnsWriteSimulatedWithMutationcallsMySqlRewriterTest::testDerivedTableKeepsNestedPhysicalRelationInShadowScopecallsMySqlRewriterTest::testDescribePassesThroughUnchangedcallsMySqlRewriterTest::testDropNonExistentTableThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testDropTableIfExistsSkipsNonExistentTablecallsMySqlRewriterTest::testDropTableMutationUnregistersSchemacallsMySqlRewriterTest::testDropTableReturnsDdlSimulatedcallsMySqlRewriterTest::testEmptyInputThrowsExceptioncallsMySqlRewriterTest::testEmptyResultSelectcallsMySqlRewriterTest::testExplainPassesThroughUnchangedcallsMySqlRewriterTest::testGeneratedExpressionIsPresentBeforeTheFirstShadowWritecallsMySqlRewriterTest::testHashCommentDoesNotCreateAPhantomSelectSourcecallsMySqlRewriterTest::testInsertReturnsWriteSimulatedWithMutationcallsMySqlRewriterTest::testInsertRewriteOutputContainsSelectcallsMySqlRewriterTest::testPartitionSelectionUsesDefinitionWithoutMaterializedRowscallsMySqlRewriterTest::testPartitionSelectionUsesRegisteredPartitionMetadatacallsMySqlRewriterTest::testReadPlanHasNoMutationcallsMySqlRewriterTest::testRegisteredViewIsKnownAndMaterializedcallsMySqlRewriterTest::testReplaceMutationInsertsNewRowcallsMySqlRewriterTest::testReplaceMutationReplacesExistingRowcallsMySqlRewriterTest::testReplaceWithEmptyValuesThrowsExceptioncallsMySqlRewriterTest::testReplaceWithMismatchedColumnCountThrowsExceptioncallsMySqlRewriterTest::testRewriteAlterTableAddColumnCreatesMutationcallsMySqlRewriterTest::testRewriteAlterTableAddConstraintThrowscallsMySqlRewriterTest::testRewriteAlterTableAddFulltextIndexThrowscallsMySqlRewriterTest::testRewriteAlterTableAddIndexThrowscallsMySqlRewriterTest::testRewriteAlterTableAddIndexThrowsUnsupportedcallsMySqlRewriterTest::testRewriteAlterTableAddKeyThrowscallsMySqlRewriterTest::testRewriteAlterTableAddPartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableAddSpatialIndexThrowscallsMySqlRewriterTest::testRewriteAlterTableAnalyzePartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableCheckPartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableCoalescePartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableConvertToCharsetThrowscallsMySqlRewriterTest::testRewriteAlterTableConvertToThrowscallsMySqlRewriterTest::testRewriteAlterTableDropConstraintThrowscallsMySqlRewriterTest::testRewriteAlterTableDropIndexThrowscallsMySqlRewriterTest::testRewriteAlterTableDropIndexThrowsUnsupportedcallsMySqlRewriterTest::testRewriteAlterTableDropKeyThrowscallsMySqlRewriterTest::testRewriteAlterTableDropPartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableEngineThrowscallsMySqlRewriterTest::testRewriteAlterTableOptimizePartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableOrderByThrowscallsMySqlRewriterTest::testRewriteAlterTableOrderByThrowsUnsupportedcallsMySqlRewriterTest::testRewriteAlterTableRebuildPartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableRenameIndexThrowscallsMySqlRewriterTest::testRewriteAlterTableRenameIndexThrowsUnsupportedcallsMySqlRewriterTest::testRewriteAlterTableRenameKeyThrowscallsMySqlRewriterTest::testRewriteAlterTableRepairPartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableSetDefaultThrowscallsMySqlRewriterTest::testRewriteAlterTableWithDropDefaultThrowscallsMySqlRewriterTest::testRewriteAlterTableWithOrderByThrowscallsMySqlRewriterTest::testRewriteAlterTableWithUnsupportedSetDefaultThrowscallsMySqlRewriterTest::testRewriteBuildTableContextMergesExtraColumnKeysFromRowscallsMySqlRewriterTest::testRewriteBuildTableContextWithDefinitionButNoRowscallsMySqlRewriterTest::testRewriteBuildTableContextWithRowsButNoDefinitioncallsMySqlRewriterTest::testRewriteCreateTableAsSelectCreatesMutationcallsMySqlRewriterTest::testRewriteCreateTableAsSelectTransformsCtecallsMySqlRewriterTest::testRewriteCreateTableAsSelectTransformsSelectPartcallsMySqlRewriterTest::testRewriteCreateTableCreatesMutationcallsMySqlRewriterTest::testRewriteCreateTableLikeCreatesMutationcallsMySqlRewriterTest::testRewriteCreateTableThatAlreadyExistsThrowscallsMySqlRewriterTest::testRewriteCreateTemporaryTableCreatesMutationcallsMySqlRewriterTest::testRewriteDeleteCreatesMutationcallsMySqlRewriterTest::testRewriteDeleteEnsuresDmlTableInShadowStorecallsMySqlRewriterTest::testRewriteDeleteEnsuresDmlTablesArePresentInStorecallsMySqlRewriterTest::testRewriteDropTableCreatesMutationcallsMySqlRewriterTest::testRewriteEmptySqlThrowscallsMySqlRewriterTest::testRewriteEmptyStatementThrowscallsMySqlRewriterTest::testRewriteForbiddenStatementThrowsExceptioncallsMySqlRewriterTest::testRewriteInsertCreatesMutationcallsMySqlRewriterTest::testRewriteInsertIgnoreCreatesInsertMutationWithIgnorecallsMySqlRewriterTest::testRewriteInsertUsesDefaultsFromRegistryWithoutShadowRowscallsMySqlRewriterTest::testRewriteInsertUsesIdentityStrategyFromRegistryWithoutShadowRowscallsMySqlRewriterTest::testRewriteInsertWithOnDuplicateKeyUpdateCreatesUpsertMutationcallsMySqlRewriterTest::testRewriteIsDeterministiccallsMySqlRewriterTest::testRewriteMultipleEmptySqlThrowscallsMySqlRewriterTest::testRewriteMultipleProcessesEachStatementcallsMySqlRewriterTest::testRewriteMultipleStatementscallsMySqlRewriterTest::testRewriteMultipleStatementsThrowsExceptioncallsMySqlRewriterTest::testRewriteMultipleUsesLexicalStatementBoundariescallsMySqlRewriterTest::testRewriteMultipleWithForbiddenStatementThrowsExceptioncallsMySqlRewriterTest::testRewriteOutputIsNonEmptycallsMySqlRewriterTest::testRewriteReadAddsCtecallsMySqlRewriterTest::testRewriteReadWithRegistryButNoShadowStoreDataAddsCtesForKnownTablescallsMySqlRewriterTest::testRewriteReplaceCreatesMutationcallsMySqlRewriterTest::testRewriteReplaceWithColumnsDefinedcallsMySqlRewriterTest::testRewriteReplaceWithColumnsExplicitDoesNotThrowcallsMySqlRewriterTest::testRewriteReplaceWithColumnsSpecifiedDoesNotThrowcallsMySqlRewriterTest::testRewriteReplaceWithColumnsSucceedscallsMySqlRewriterTest::testRewriteReplaceWithNoColumnsAndNoStoreOrRegistryThrowscallsMySqlRewriterTest::testRewriteReplaceWithoutColumnsButWithDefinitionSucceedscallsMySqlRewriterTest::testRewriteReplaceWithoutColumnsButWithShadowDataSucceedscallsMySqlRewriterTest::testRewriteReplaceWithoutColumnsOrContextThrowscallsMySqlRewriterTest::testRewriteReplaceWithoutColumnsThrowsWhenNoContextcallsMySqlRewriterTest::testRewriteReplaceWithStoreContextDoesNotThrowcallsMySqlRewriterTest::testRewriteReplaceWithStoreDataDoesNotThrowcallsMySqlRewriterTest::testRewriteSelectNoSchemaContextDoesNotCheckUnknownTablescallsMySqlRewriterTest::testRewriteSelectNoSchemaContextDoesNotThrowcallsMySqlRewriterTest::testRewriteSelectWithJoinAndUnknownTableThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testRewriteSelectWithJoinDetectsUnknownJoinTablecallsMySqlRewriterTest::testRewriteSelectWithJoinedUnknownTableThrowscallsMySqlRewriterTest::testRewriteSelectWithNoSchemaContextDoesNotThrowcallsMySqlRewriterTest::testRewriteSelectWithUnknownJoinTableThrowsWhenSchemaContextExistscallsMySqlRewriterTest::testRewriteSelectWithUnknownTableThrowscallsMySqlRewriterTest::testRewriteSelectWithUnknownTableThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testRewriteSelectWithUnknownTableThrowsWhenSchemaContextExistscallsMySqlRewriterTest::testRewriteSingleStatementStillWorkscallsMySqlRewriterTest::testRewritesSingleSetExpressionsWithoutTreatingThemAsMultipleStatementscallsMySqlRewriterTest::testRewriteTruncateCreatesMutationcallsMySqlRewriterTest::testRewriteTruncateReturnsFalseSelectcallsMySqlRewriterTest::testRewriteUpdateCreatesMutationcallsMySqlRewriterTest::testRewriteUpdateEnsuresDmlTableInShadowStorecallsMySqlRewriterTest::testRewriteUpsertUsesCandidateKeysForStoredTableContextcallsMySqlRewriterTest::testRewriteWithStatementDeleteIgnoresHashCommentsAroundItsCteHeadercallsMySqlRewriterTest::testRewriteWithStatementInsertResolvesItsInnerMutationcallsMySqlRewriterTest::testRewriteWithStatementSelectUsesClassifycallsMySqlRewriterTest::testSelectReturnsReadKindcallsMySqlRewriterTest::testShowCreateTablePassesThroughUnchangedcallsMySqlRewriterTest::testSplitStatementscallsMySqlRewriterTest::testTransactionStatementcallsMySqlRewriterTest::testTruncateMutationClearsTablecallsMySqlRewriterTest::testUnknownTableAfterDeclaredCteIsRejectedcallsMySqlRewriterTest::testUnsupportedSqlThrowsExceptioncallsMySqlRewriterTest::testUpdateDoesNotPromoteMaterializedUnknownTablecallsMySqlRewriterTest::testUpdateReturnsWriteSimulatedWithMutationcallsMySqlRewriterTest::testWritePlanHasNonNullMutationcallsStatementRewriterTest::testMutationStatementcallsStatementRewriterTest::testRewriteStatementcallsDeleteTransformerTest::testBuildDeleteFromClauseContainsTableNamecallsDeleteTransformerTest::testBuildDeleteJoinClauseContainsJoinTableNamecallsDeleteTransformerTest::testBuildDeleteLimitClauseContainsActualValuecallsDeleteTransformerTest::testBuildDeleteMultiTargetResolvesFromJoincallsDeleteTransformerTest::testBuildDeleteMultiTargetResolvesFromUsingClausecallsDeleteTransformerTest::testBuildDeleteMultiTargetResolvesSecondAliasFromJoincallsDeleteTransformerTest::testBuildDeleteOrderByExactFormatcallsDeleteTransformerTest::testBuildDeleteOrderByExactValueIncludedcallsDeleteTransformerTest::testBuildDeleteProjectionFromClausecallsDeleteTransformerTest::testBuildDeleteProjectionIncludesJoinClausecallsDeleteTransformerTest::testBuildDeleteProjectionSelectListFormatcallsDeleteTransformerTest::testBuildDeleteResolveAliasFromUsingNotFromOrJoincallsDeleteTransformerTest::testBuildDeleteResolvedTablesContainsAliascallsDeleteTransformerTest::testBuildDeleteSingleTargetAliasMatchesTablecallsDeleteTransformerTest::testBuildDeleteTargetFromJoinAliascallsDeleteTransformerTest::testBuildDeleteTargetFromJoinWhenAliasNotInFromcallsDeleteTransformerTest::testBuildDeleteTargetResolvedFromJoinNotFromcallsDeleteTransformerTest::testBuildDeleteWithFromAliascallsDeleteTransformerTest::testBuildDeleteWithJoinAliascallsDeleteTransformerTest::testBuildDeleteWithJoinAndOrderByLimitClausecallsDeleteTransformerTest::testBuildDeleteWithLowercasePartitionThrowscallsDeleteTransformerTest::testBuildDeleteWithMultipleColumnsSelectFormatcallsDeleteTransformerTest::testBuildDeleteWithMultipleTargetsReturnsAllTablescallsDeleteTransformerTest::testBuildDeleteWithNoColumnsUsesWildcardcallsDeleteTransformerTest::testBuildDeleteWithNoOrderByClausecallsDeleteTransformerTest::testBuildDeleteWithNoWhereClausecallsDeleteTransformerTest::testBuildDeleteWithOrderByAndLimitcallsDeleteTransformerTest::testBuildDeleteWithPartitionIsBlockedcallsDeleteTransformerTest::testBuildDeleteWithSingleTargetReturnsSingleTablecallsDeleteTransformerTest::testBuildDeleteWithUsingClauseOverridesFromcallsDeleteTransformerTest::testBuildDeleteWithUsingSyntaxMultiTablecallsDeleteTransformerTest::testBuildDeleteWithWhereClausecallsDeleteTransformerTest::testBuildMultiDeleteResolvesAliasFromUsingcallsDeleteTransformerTest::testBuildProjectionAliasedFromResolvesAliascallsDeleteTransformerTest::testBuildProjectionEmptyColumnsUsesWildcardcallsDeleteTransformerTest::testBuildProjectionExactSqlForDeleteWithFromAliascallsDeleteTransformerTest::testBuildProjectionExactSqlForDeleteWithJoinAliascallsDeleteTransformerTest::testBuildProjectionExactSqlForDeleteWithNoColumnscallsDeleteTransformerTest::testBuildProjectionExactSqlForDeleteWithOrderByAndLimitcallsDeleteTransformerTest::testBuildProjectionExactSqlForDeleteWithUsingSyntaxcallsDeleteTransformerTest::testBuildProjectionExactSqlForMultiTargetDeletecallsDeleteTransformerTest::testBuildProjectionExactSqlForSimpleDeletecallsDeleteTransformerTest::testBuildProjectionFromClauseResolvesTargetTableNamecallsDeleteTransformerTest::testBuildProjectionMultiDeleteTargetFromUsingResolvesBothTablescallsDeleteTransformerTest::testBuildProjectionPartitionThrowsRuntimeExceptioncallsDeleteTransformerTest::testBuildProjectionWithJoinClausecallsDeleteTransformerTest::testBuildProjectionWithOrderByAndLimitcallsDeleteTransformerTest::testTransformDeleteColumnsFromTablesArgcallsDeleteTransformerTest::testTransformDeleteFromSimpleExactSqlcallsDeleteTransformerTest::testTransformDeleteMultiTableFromJoinExactOutputcallsDeleteTransformerTest::testTransformDeleteWithNoColumnsUsesWildcardcallsDeleteTransformerTest::testTransformDeleteWithShadowDataAddsCtecallsDeleteTransformerTest::testTransformDeleteWithShadowDataProducesCteSelectcallsDeleteTransformerTest::testTransformExactOutputWildcardWhenNoTableContextcallsDeleteTransformerTest::testTransformExactOutputWithEmptyRowscallsDeleteTransformerTest::testTransformExactOutputWithShadowDatacallsDeleteTransformerTest::testTransformMultiDeleteProjectsEveryTargetIdentitycallsDeleteTransformerTest::testTransformPreservesCaseWhereExpressioncallsDeleteTransformerTest::testTransformSimpleDeleteReturnsSelectcallsDeleteTransformerTest::testTransformThrowsForNonDeleteStatementcallsInsertTransformerTest::testCommitRewriteStateTransformAllocatesMonotonicAutoIncrementValuescallsInsertTransformerTest::testExplicitSetIdentityDoesNotConsumeGeneratedIdentitycallsInsertTransformerTest::testExplicitValuesIdentityDoesNotConsumeGeneratedIdentitycallsInsertTransformerTest::testInsertSelectCastsDestinationTypesAndQuotesUntypedColumnscallsInsertTransformerTest::testProjectsUpsertExpressionUsingCandidateKeyscallsInsertTransformerTest::testTransformAllocatesAfterExistingAutoIncrementRowscallsInsertTransformerTest::testTransformDefaultOnlyInsertProjectsCompleteRowcallsInsertTransformerTest::testTransformInsertColumnsResolvedFromTableContextcallsInsertTransformerTest::testTransformInsertFromCompoundSelectPreservesEveryBranchcallsInsertTransformerTest::testTransformInsertFromSelectAliasedExprDropsAliasExactOutputcallsInsertTransformerTest::testTransformInsertFromSelectAliasedExpressionDropsAliascallsInsertTransformerTest::testTransformInsertFromSelectColumnCountMismatchThrowscallsInsertTransformerTest::testTransformInsertFromSelectExactOrderByLimitFormatcallsInsertTransformerTest::testTransformInsertFromSelectGroupByValueIncludedcallsInsertTransformerTest::testTransformInsertFromSelectLimitValueIncludedcallsInsertTransformerTest::testTransformInsertFromSelectMultipleColumnsFromMultipleTablescallsInsertTransformerTest::testTransformInsertFromSelectSubqueryWrappingcallsInsertTransformerTest::testTransformInsertFromSelectUsesTableColumnsWhenColumnListIsOmittedcallsInsertTransformerTest::testTransformInsertFromSelectWithAliasedExpressioncallsInsertTransformerTest::testTransformInsertFromSelectWithAllClausescallsInsertTransformerTest::testTransformInsertFromSelectWithAllClausesExactOutputcallsInsertTransformerTest::testTransformInsertFromSelectWithCaseExpressioncallsInsertTransformerTest::testTransformInsertFromSelectWithFromAndWhereExactcallsInsertTransformerTest::testTransformInsertFromSelectWithGroupByExactFormatcallsInsertTransformerTest::testTransformInsertFromSelectWithHavingcallsInsertTransformerTest::testTransformInsertFromSelectWithHavingExactFormatcallsInsertTransformerTest::testTransformInsertFromSelectWithOrderByAndLimitcallsInsertTransformerTest::testTransformInsertFromSelectWithWhereAndGroupBycallsInsertTransformerTest::testTransformInsertFromSelectWithWhereClauseExactFormatcallsInsertTransformerTest::testTransformInsertFromSelectWrappedExactOutputcallsInsertTransformerTest::testTransformInsertFromSelectWrappedSubqueryHasSelectKeywordcallsInsertTransformerTest::testTransformInsertMultipleRowsExactUnionFormatcallsInsertTransformerTest::testTransformInsertMultipleRowsUsesUnionAllcallsInsertTransformerTest::testTransformInsertNoColumnsNoContextThrowscallsInsertTransformerTest::testTransformInsertResolvesColumnsFromTablesContextcallsInsertTransformerTest::testTransformInsertSelectAllocatesOnlyOmittedIdentityColumnscallsInsertTransformerTest::testTransformInsertSelectSubquerycallsInsertTransformerTest::testTransformInsertSetExactSqlOutputcallsInsertTransformerTest::testTransformInsertSetProjectsCorrectColumnscallsInsertTransformerTest::testTransformInsertSetSelectFormatcallsInsertTransformerTest::testTransformInsertThrowsWhenNoColumnsResolvablecallsInsertTransformerTest::testTransformInsertValuesCountMismatchThrowscallsInsertTransformerTest::testTransformInsertValuesExactSelectFormatcallsInsertTransformerTest::testTransformInsertValuesProjectsColumnAliasescallsInsertTransformerTest::testTransformInsertValuesTrimsWhitespacecallsInsertTransformerTest::testTransformInsertValuesWithWhitespaceTrimsCorrectlycallsInsertTransformerTest::testTransformInsertWithSetSyntaxcallsInsertTransformerTest::testTransformInsertWithValuescallsInsertTransformerTest::testTransformNormalizesSparseTableColumnKeyscallsInsertTransformerTest::testTransformProjectsDefaultWhenIntoIsOmittedcallsInsertTransformerTest::testTransformProjectsOmittedAndExplicitDefaultscallsInsertTransformerTest::testTransformThrowsForNonInsertStatementcallsInsertTransformerTest::testUncommittedTransformDoesNotConsumeAutoIncrementValuecallsInsertTransformerTest::testUsesInjectedCastRendererAndColumnTypescallsMySqlTransformerTest::testCommitRewriteStatecallsMySqlTransformerTest::testTransformDeleteDelegatesToDeleteTransformercallsMySqlTransformerTest::testTransformInsertDelegatesToInsertTransformercallsMySqlTransformerTest::testTransformReplaceDelegatesToReplaceTransformercallsMySqlTransformerTest::testTransformSelectPassthroughcallsMySqlTransformerTest::testTransformSelectWithShadowDatacallsReplaceTransformerTest::testCommitRewriteStatecallsReplaceTransformerTest::testTransformRejectsEmptyReplaceValuescallsReplaceTransformerTest::testTransformReplaceCastsParametersToTargetColumnTypescallsReplaceTransformerTest::testTransformReplaceColumnsResolvedFromTableContextcallsReplaceTransformerTest::testTransformReplaceIgnoresLeadingHashCommentcallsReplaceTransformerTest::testTransformReplaceMultipleRowscallsReplaceTransformerTest::testTransformReplaceMultiRowExactSqlAssertioncallsReplaceTransformerTest::testTransformReplaceMultiRowsExactUnionFormatcallsReplaceTransformerTest::testTransformReplaceNoColumnsNoContextThrowscallsReplaceTransformerTest::testTransformReplaceNullDestThrowscallsReplaceTransformerTest::testTransformReplaceProjectsCorrectColumnValuescallsReplaceTransformerTest::testTransformReplaceResolvesColumnsFromContextcallsReplaceTransformerTest::testTransformReplaceSelectSubquerycallsReplaceTransformerTest::testTransformReplaceSelectSubqueryPassesThroughcallsReplaceTransformerTest::testTransformReplaceSetExactFormatcallsReplaceTransformerTest::testTransformReplaceSetExactSqlAssertioncallsReplaceTransformerTest::testTransformReplaceSetExactSqlContainsSelectPrefixcallsReplaceTransformerTest::testTransformReplaceSetSelectContainsColumnValuescallsReplaceTransformerTest::testTransformReplaceThrowsWhenNoColumnsResolvablecallsReplaceTransformerTest::testTransformReplaceTrimsWhitespaceInValuescallsReplaceTransformerTest::testTransformReplaceValuesCountMismatchReturnsInvalidcallsReplaceTransformerTest::testTransformReplaceValuesCountMismatchReturnsInvalidReplacecallsReplaceTransformerTest::testTransformReplaceValuesExactSelectFormatcallsReplaceTransformerTest::testTransformReplaceValuesExactSqlAssertioncallsReplaceTransformerTest::testTransformReplaceValuesTrimsWhitespacecallsReplaceTransformerTest::testTransformReplaceWithSetSyntaxcallsReplaceTransformerTest::testTransformReplaceWithValuescallsReplaceTransformerTest::testTransformThrowsForEmptySqlcallsReplaceTransformerTest::testTransformThrowsForNonReplaceStatementcallsUpdateTransformerTest::testBuildMultiTableUpdatecallsUpdateTransformerTest::testBuildMultiTableUpdateAdditionalTableAliascallsUpdateTransformerTest::testBuildProjectionColumnsNotEmptycallsUpdateTransformerTest::testBuildProjectionCoveredColBlocksColumnFromRemaindercallsUpdateTransformerTest::testBuildProjectionCoveredColIsNotDuplicatedWhenTruecallsUpdateTransformerTest::testBuildProjectionCoveredColIsTrueNotFalsecallsUpdateTransformerTest::testBuildProjectionExactSqlForMultiTableUpdatecallsUpdateTransformerTest::testBuildProjectionExactSqlForSimpleUpdatecallsUpdateTransformerTest::testBuildProjectionExactSqlForUpdateWithAliascallsUpdateTransformerTest::testBuildProjectionExactSqlForUpdateWithJoincallsUpdateTransformerTest::testBuildProjectionExactSqlForUpdateWithJoinUsingcallsUpdateTransformerTest::testBuildProjectionExactSqlForUpdateWithLeftJoinOncallsUpdateTransformerTest::testBuildProjectionExactSqlForUpdateWithOrderByAndLimitcallsUpdateTransformerTest::testBuildProjectionJoinAliasPresentInOutputcallsUpdateTransformerTest::testBuildProjectionJoinOnClausecallsUpdateTransformerTest::testBuildProjectionJoinOnConditionFormattedcallsUpdateTransformerTest::testBuildProjectionJoinTypeIsIncludedcallsUpdateTransformerTest::testBuildProjectionJoinUsingClauseExactFormatcallsUpdateTransformerTest::testBuildProjectionJoinUsingExactColumnInOutputcallsUpdateTransformerTest::testBuildProjectionLimitContainsActualValuecallsUpdateTransformerTest::testBuildProjectionMultiTableAdditionalTableSameNameNoAliascallsUpdateTransformerTest::testBuildProjectionMultiTableNoAliasSameNameNotDuplicatedcallsUpdateTransformerTest::testBuildProjectionMultiTableReturnsAllTablescallsUpdateTransformerTest::testBuildProjectionMultiTableWithAliasDifferentFromTableNamecallsUpdateTransformerTest::testBuildProjectionOrderByExactFormatcallsUpdateTransformerTest::testBuildProjectionPreservesDerivedJoinSourcecallsUpdateTransformerTest::testBuildProjectionSingleTableNoAdditionalTablescallsUpdateTransformerTest::testBuildProjectionWithNoColumnsUsesWildcardcallsUpdateTransformerTest::testBuildProjectionWithNoOrderByReturnsNoOrderClausecallsUpdateTransformerTest::testBuildProjectionWithNoWhereReturnsNoWhereClausecallsUpdateTransformerTest::testBuildUpdateSelectAliasClausecallsUpdateTransformerTest::testBuildUpdateSelectCoveredColNotDuplicatedcallsUpdateTransformerTest::testBuildUpdateSelectExactFormatcallsUpdateTransformerTest::testBuildUpdateSelectOrderByFormatContainsKeywordcallsUpdateTransformerTest::testBuildUpdateSelectUsesAliasAndColumnscallsUpdateTransformerTest::testBuildUpdateSelectWithBacktickedUnqualifiedColumncallsUpdateTransformerTest::testBuildUpdateSelectWithEmptyColumnsUsesWildcardcallsUpdateTransformerTest::testBuildUpdateSelectWithJoincallsUpdateTransformerTest::testBuildUpdateSelectWithJoinAndLimitKeepsJoinInResultSelectcallsUpdateTransformerTest::testBuildUpdateSelectWithLeftJoincallsUpdateTransformerTest::testBuildUpdateSelectWithMultipleJoinscallsUpdateTransformerTest::testBuildUpdateSelectWithOnlyLimitSelectsRowsBeforeProjectingcallsUpdateTransformerTest::testBuildUpdateSelectWithOnlyOrderBySelectsRowsBeforeProjectingcallsUpdateTransformerTest::testBuildUpdateSelectWithOrderByAndLimitcallsUpdateTransformerTest::testBuildUpdateSelectWithoutColumnsIncludesSetValuesOnlycallsUpdateTransformerTest::testBuildUpdateSelectWithQualifiedColumnNamecallsUpdateTransformerTest::testBuildUpdateSelectWithUnqualifiedColumnNamecallsUpdateTransformerTest::testBuildUpdateWithJoinUsingClausecallsUpdateTransformerTest::testTransformExactOutputForUpdateWithJoinUsingcallsUpdateTransformerTest::testTransformExactOutputWithEmptyRowscallsUpdateTransformerTest::testTransformExactOutputWithShadowDatacallsUpdateTransformerTest::testTransformMultiUpdateProjectsValuesAndOriginalIdentityPerTargetcallsUpdateTransformerTest::testTransformPreservesCaseWhereExpressioncallsUpdateTransformerTest::testTransformPreservesIntervalUnitInAssignmentcallsUpdateTransformerTest::testTransformPreservesIntroducedHexLiteralcallsUpdateTransformerTest::testTransformPreservesIntroducedLiteralsForEveryUpdateTargetcallsUpdateTransformerTest::testTransformSimpleUpdateReturnsSelectcallsUpdateTransformerTest::testTransformThrowsForNonUpdateStatementcallsUpdateTransformerTest::testTransformUpdateWithPartitionThrowscallsUpdateTransformerTest::testTransformUpdateWithShadowDataAddsCtecallsUpdateTransformerTest::testTransformWithLowercasePartitionThrowscallsDefinitionBuilderTest::testAddColumncallsDefinitionBuilderTest::testAddColumnOptionscallsDefinitionBuilderTest::testAddKeycallsMySqlSchemaParserTest::testColumnCountMatchesExpectedcallsMySqlSchemaParserTest::testColumnTypesKeysSubsetOfColumnscallsMySqlSchemaParserTest::testConstraintKeywordPrefixesRemainColumnNamescallsMySqlSchemaParserTest::testMalformedInputReturnsNullcallsMySqlSchemaParserTest::testNonCreateTableReturnsNullcallsMySqlSchemaParserTest::testNotNullSubsetOfColumnscallsMySqlSchemaParserTest::testParseAutoIncrementIdentityStrategycallsMySqlSchemaParserTest::testParseColumnNameBacktickStrippedFromColumnTypescallsMySqlSchemaParserTest::testParseColumnNameStripsBacktickscallsMySqlSchemaParserTest::testParseColumnTypescallsMySqlSchemaParserTest::testParseColumnTypeWithBacktickscallsMySqlSchemaParserTest::testParseCompositePrimaryKeycallsMySqlSchemaParserTest::testParseCompositeUniqueKeycallsMySqlSchemaParserTest::testParsedColumnsMatchExpectedcallsMySqlSchemaParserTest::testParsedDefinitionHasNonEmptyColumnscallsMySqlSchemaParserTest::testParsedNotNullColumnsMatchExpectedcallsMySqlSchemaParserTest::testParseDoesNotTreatNamedForeignKeyAsColumncallsMySqlSchemaParserTest::testParseDoesNotTreatNamedTableConstraintsAsColumnscallsMySqlSchemaParserTest::testParsedPrimaryKeysMatchExpectedcallsMySqlSchemaParserTest::testParseMultipleUnnamedUniqueConstraintscallsMySqlSchemaParserTest::testParseMultipleUnnamedUniqueConstraintsKeyNamesSequentialcallsMySqlSchemaParserTest::testParseNativeTypeIncludesParameterscallsMySqlSchemaParserTest::testParseNotNullColumncallsMySqlSchemaParserTest::testParseNotNullWithPrimaryKeyImpliedcallsMySqlSchemaParserTest::testParsePreservesColumnDefaultExpressionscallsMySqlSchemaParserTest::testParsePreservesCompositeForeignKeyActionscallsMySqlSchemaParserTest::testParsePrimaryKeyBacktickStrippingcallsMySqlSchemaParserTest::testParsePrimaryKeyColumnNameStripsBacktickscallsMySqlSchemaParserTest::testParsePrimaryKeyImpliesNotNullcallsMySqlSchemaParserTest::testParseReturnsNullForEmptySqlcallsMySqlSchemaParserTest::testParseReturnsNullForNonCreateStatementcallsMySqlSchemaParserTest::testParseSimpleCreateTablecallsMySqlSchemaParserTest::testParsesPartitionMetadataWithTableSchemacallsMySqlSchemaParserTest::testParsesStoredAndVirtualGeneratedExpressionscallsMySqlSchemaParserTest::testParseTypedColumnsBinaryFamilycallsMySqlSchemaParserTest::testParseTypedColumnsBooleanFamilycallsMySqlSchemaParserTest::testParseTypedColumnsDatetimeFamilycallsMySqlSchemaParserTest::testParseTypedColumnsDecimalFamilycallsMySqlSchemaParserTest::testParseTypedColumnsFloatDoubleFamilycallsMySqlSchemaParserTest::testParseTypedColumnsIntegerFamilycallsMySqlSchemaParserTest::testParseTypedColumnsJsonFamilycallsMySqlSchemaParserTest::testParseTypedColumnsNativeTypecallsMySqlSchemaParserTest::testParseTypedColumnsStringFamilycallsMySqlSchemaParserTest::testParseTypedColumnsTextFamilycallsMySqlSchemaParserTest::testParseTypedColumnsYearAndBitcallsMySqlSchemaParserTest::testParseTypeNameUppercasedcallsMySqlSchemaParserTest::testParseTypeUppercasedInFamilyMappingcallsMySqlSchemaParserTest::testParseUniqueColumnOptioncallsMySqlSchemaParserTest::testParseUniqueConstraintcallsMySqlSchemaParserTest::testParseUniqueKeyBacktickStrippingcallsMySqlSchemaParserTest::testParseUniqueKeyColumnNameStripsBacktickscallsMySqlSchemaParserTest::testParseUniqueKeyConstraintcallsMySqlSchemaParserTest::testParseUniqueWithoutNamecallsMySqlSchemaParserTest::testParseUnknownTypeFamilycallsMySqlSchemaParserTest::testPrimaryKeysSubsetOfColumnscallsMySqlSchemaParserTest::testTypedColumnsKeysSubsetOfColumnscallsMySqlSchemaParserTest::testUniqueConstraintColumnsSubsetOfColumnscallsMySqlSchemaParserTest::testValidCreateTableReturnsNonNullcallsPredicateCompilerTest::testListPredicatescallsPredicateCompilerTest::testRangePredicatescallsRowMutationResolverTest::testMultiTableTargetscallsRowMutationResolverTest::testResolveDeletecallsRowMutationResolverTest::testResolveInsertcallsRowMutationResolverTest::testResolveReplacecallsRowMutationResolverTest::testResolveUpdatecallsAlterTableMutationTest::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::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::testTableNameReturnsTableNamecallsAlterTableMutationTest::testUnsupportedOperationThrowscallsTableMutationResolverTest::testExtractSelectColumnNamescallsTableMutationResolverTest::testResolveAlterTablecallsTableMutationResolverTest::testResolveCreateTablecallsTableMutationResolverTest::testResolveDropTablecallsTableMutationResolverTest::testResolveTruncatecallsMySqlMutationResolverTest::testCreateTableIfNotExistsWhenExistscallsMySqlMutationResolverTest::testCreateTableLikeThrowsForUnknownSourcecallsMySqlMutationResolverTest::testCreateTableWithoutIfNotExistsThrowsWhenExistscallsMySqlMutationResolverTest::testDeleteEnsuresTableInShadowStorecallsMySqlMutationResolverTest::testDeleteUsesColumnsFromShadowStorecallsMySqlMutationResolverTest::testDropTableIfExistsWhenNotExistscallsMySqlMutationResolverTest::testDropTableWithoutIfExistsThrowsWhenNotExistscallsMySqlMutationResolverTest::testInsertIgnoreReturnsInsertMutationcallsMySqlMutationResolverTest::testInsertOnDuplicateKeyUpdateReturnsUpsertcallsMySqlMutationResolverTest::testInsertOnDuplicateKeyUpdateWithQualifiedColumncallsMySqlMutationResolverTest::testMultiDeleteEnsuresTablesInStorecallsMySqlMutationResolverTest::testMultiTableUpdateEnsuresTablesInStorecallsMySqlMutationResolverTest::testResolveAlterTableReturnsAlterTableMutationcallsMySqlMutationResolverTest::testResolveAlterTableThrowsForUnknownTablecallsMySqlMutationResolverTest::testResolveCreateTableAsSelectExtractsAliasedAndExprColumnscallsMySqlMutationResolverTest::testResolveCreateTableAsSelectExtractsColumnNamescallsMySqlMutationResolverTest::testResolveCreateTableAsSelectExtractsColumnsFromAliasedExprscallsMySqlMutationResolverTest::testResolveCreateTableAsSelectExtractsPlainColumnNamescallsMySqlMutationResolverTest::testResolveCreateTableAsSelectHandlesExpressionWithoutAliascallsMySqlMutationResolverTest::testResolveCreateTableAsSelectReturnsCreateTableAsSelectMutationcallsMySqlMutationResolverTest::testResolveCreateTableAsSelectWithColumnNamescallsMySqlMutationResolverTest::testResolveCreateTableIfNotExistsDoesNotThrowForExistingTablecallsMySqlMutationResolverTest::testResolveCreateTableIfNotExistsSkipsWhenExistscallsMySqlMutationResolverTest::testResolveCreateTableLikecallsMySqlMutationResolverTest::testResolveCreateTableLikeReturnsCreateTableLikeMutationcallsMySqlMutationResolverTest::testResolveCreateTableReturnsCreateTableMutationcallsMySqlMutationResolverTest::testResolveDeleteEnsuresTargetTableInStorecallsMySqlMutationResolverTest::testResolveDeleteMultiTableReturnsMultiDeleteMutationcallsMySqlMutationResolverTest::testResolveDeleteReturnsDeleteMutationcallsMySqlMutationResolverTest::testResolveDeleteThrowsWhenNoSchemaContextExistscallsMySqlMutationResolverTest::testResolveDeleteUsesColumnsFromRegistryWhenStoreEmptycallsMySqlMutationResolverTest::testResolveDeleteUsesColumnsFromShadowStoreFirstcallsMySqlMutationResolverTest::testResolveDeleteWithShadowDataButNoDefinitioncallsMySqlMutationResolverTest::testResolveDeleteWithSingleTargetReturnsPrimaryKeyscallsMySqlMutationResolverTest::testResolveDropTableIfExistsDoesNotThrowcallsMySqlMutationResolverTest::testResolveDropTableReturnsDropTableMutationcallsMySqlMutationResolverTest::testResolveDropTableWithIfExistsDoesNotThrowForMissingTablecallsMySqlMutationResolverTest::testResolveDropTableWithoutIfExistsThrowsForMissingTablecallsMySqlMutationResolverTest::testResolveInsertIgnoreIncludesPrimaryKeyscallsMySqlMutationResolverTest::testResolveInsertIgnoreProducesInsertMutationcallsMySqlMutationResolverTest::testResolveInsertIgnoreReturnsInsertMutationWithIgnorecallsMySqlMutationResolverTest::testResolveInsertIgnoreReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveInsertIgnoreWithoutDefinitionReturnEmptyPkscallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyExtractsQualifiedColumnNamecallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyExtractsUpdateColumnscallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyReturnsUpsertMutationcallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyWithBacktickedColumncallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyWithDottedColumncallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyWithoutRegisteredSchemacallsMySqlMutationResolverTest::testResolveInsertReturnsInsertMutationcallsMySqlMutationResolverTest::testResolveInsertWithOnDuplicateKeyReturnsUpsertMutationcallsMySqlMutationResolverTest::testResolveInsertWithQualifiedOnDuplicateKeycallsMySqlMutationResolverTest::testResolveMultiDeleteEnsuresAllTablesInStorecallsMySqlMutationResolverTest::testResolveMultiDeleteReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveMultiDeleteThrowsForUnknownTablecallsMySqlMutationResolverTest::testResolveMultiUpdateReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveMultiUpdateThrowsForUnknownTablecallsMySqlMutationResolverTest::testResolveReplaceReturnsPrimaryKeysFromRegistrycallsMySqlMutationResolverTest::testResolveReplaceReturnsReplaceMutationcallsMySqlMutationResolverTest::testResolveReplaceWithoutRegisteredSchemacallsMySqlMutationResolverTest::testResolveReturnsNullForUnhandledStatementcallsMySqlMutationResolverTest::testResolveRowAliasUpsertAppliesIncomingColumnscallsMySqlMutationResolverTest::testResolveSelectReturnsNullcallsMySqlMutationResolverTest::testResolveTruncateReturnsTruncateMutationcallsMySqlMutationResolverTest::testResolveUpdateMultiTableReturnsMultiUpdateMutationcallsMySqlMutationResolverTest::testResolveUpdateMultiTableReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveUpdateReturnsUpdateMutationcallsMySqlMutationResolverTest::testResolveUpdateThrowsWhenNoSchemaAvailablecallsMySqlMutationResolverTest::testResolveUpdateUsesColumnsFromRegistryWhenStoreEmptycallsMySqlMutationResolverTest::testResolveUpdateUsesColumnsFromShadowStoreFirstcallsMySqlMutationResolverTest::testResolveUpdateWithShadowDataButNoDefinitioncallsMySqlMutationResolverTest::testResolveUpsertReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testUpdateDoesNotTreatRowsFromUnknownInsertAsSchemacallsMySqlMutationResolverTest::testUpdateEnsuresTableInShadowStorecallsMySqlMutationResolverTest::testUpdateUsesColumnsFromStoreWhenAvailablecalls
Relations§
Instantiated in 1
Method calls 12
- method-call ZtdQuery\Platform\MySql\Rewrite\MySqlQueryGuard::classify() packages/ztd-query-mysql/src/Rewrite/MySqlQueryGuard.php:47
- method-call ZtdQuery\Platform\MySql\Rewrite\MySqlRewriter::rewrite() packages/ztd-query-mysql/src/Rewrite/MySqlRewriter.php:82
- method-call ZtdQuery\Platform\MySql\Rewrite\MySqlRewriter::rewrite() packages/ztd-query-mysql/src/Rewrite/MySqlRewriter.php:93
- method-call ZtdQuery\Platform\MySql\Rewrite\MySqlRewriter::splitStatements() packages/ztd-query-mysql/src/Rewrite/MySqlRewriter.php:132
- method-call ZtdQuery\Platform\MySql\Rewrite\StatementRewriter::mutationStatement() packages/ztd-query-mysql/src/Rewrite/StatementRewriter.php:99
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\DeleteTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/DeleteTransformer.php:42
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\InsertTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/InsertTransformer.php:59
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\MySqlTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/MySqlTransformer.php:60
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\MySqlTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/MySqlTransformer.php:69
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\ReplaceTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/ReplaceTransformer.php:38
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\UpdateTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/UpdateTransformer.php:45
- method-call ZtdQuery\Platform\MySql\Schema\MySqlSchemaParser::parse() packages/ztd-query-mysql/src/Schema/MySqlSchemaParser.php:34
Type declarations 17
- type ZtdQuery\Platform\MySql\Rewrite\MySqlQueryGuard packages/ztd-query-mysql/src/Rewrite/MySqlQueryGuard.php:29
- type ZtdQuery\Platform\MySql\Rewrite\MySqlQueryGuard packages/ztd-query-mysql/src/Rewrite/MySqlQueryGuard.php:34
- type ZtdQuery\Platform\MySql\Rewrite\MySqlRewriter packages/ztd-query-mysql/src/Rewrite/MySqlRewriter.php:48
- type ZtdQuery\Platform\MySql\Rewrite\MySqlRewriter packages/ztd-query-mysql/src/Rewrite/MySqlRewriter.php:61
- type ZtdQuery\Platform\MySql\Rewrite\StatementRewriter packages/ztd-query-mysql/src/Rewrite/StatementRewriter.php:35
- type ZtdQuery\Platform\MySql\Rewrite\Transformer\DeleteTransformer packages/ztd-query-mysql/src/Rewrite/Transformer/DeleteTransformer.php:20
- type ZtdQuery\Platform\MySql\Rewrite\Transformer\DeleteTransformer packages/ztd-query-mysql/src/Rewrite/Transformer/DeleteTransformer.php:28
- type ZtdQuery\Platform\MySql\Rewrite\Transformer\InsertTransformer packages/ztd-query-mysql/src/Rewrite/Transformer/InsertTransformer.php:25
- type ZtdQuery\Platform\MySql\Rewrite\Transformer\InsertTransformer packages/ztd-query-mysql/src/Rewrite/Transformer/InsertTransformer.php:38
- type ZtdQuery\Platform\MySql\Rewrite\Transformer\MySqlTransformer packages/ztd-query-mysql/src/Rewrite/Transformer/MySqlTransformer.php:26
- type ZtdQuery\Platform\MySql\Rewrite\Transformer\MySqlTransformer packages/ztd-query-mysql/src/Rewrite/Transformer/MySqlTransformer.php:38
- type ZtdQuery\Platform\MySql\Rewrite\Transformer\ReplaceTransformer packages/ztd-query-mysql/src/Rewrite/Transformer/ReplaceTransformer.php:19
- type ZtdQuery\Platform\MySql\Rewrite\Transformer\ReplaceTransformer packages/ztd-query-mysql/src/Rewrite/Transformer/ReplaceTransformer.php:25
- type ZtdQuery\Platform\MySql\Rewrite\Transformer\UpdateTransformer packages/ztd-query-mysql/src/Rewrite/Transformer/UpdateTransformer.php:23
- type ZtdQuery\Platform\MySql\Rewrite\Transformer\UpdateTransformer packages/ztd-query-mysql/src/Rewrite/Transformer/UpdateTransformer.php:31
- type ZtdQuery\Platform\MySql\Schema\MySqlSchemaParser packages/ztd-query-mysql/src/Schema/MySqlSchemaParser.php:19
- type ZtdQuery\Platform\MySql\Schema\MySqlSchemaParser packages/ztd-query-mysql/src/Schema/MySqlSchemaParser.php:24