classPgSqlMergeParser
final class PgSqlMergeParser
Merge parser for PostgreSQL queries.
Methods§
public function __construct()Initializes the collaborators and state used by this merge parser.
Calls 1
- new HeaderParser line 24
public function parse(string $sql): PgSqlMergeStatementParses PostgreSQL SQL into the supported structural representation.
Parameters
$sql | string |
Returns
Throws
Test cases 16
MatchConditionsTest::testEffectiveConditionscallsRowActionsTest::testInsertedRowscallsRowActionsTest::testModifiedRowsProjectsBothActionKindsInOrdercallsRowActionsTest::testUnchangedRowscallsRowActionsTest::testUpdatedRowscallsPgSqlMergeParserTest::testEndIdentifierDoesNotCloseANonexistentCaseExpressioncallsPgSqlMergeParserTest::testFoldsUnquotedTargetAliasAndAssignmentIdentifierscallsPgSqlMergeParserTest::testIgnoresOnAndWhenKeywordsOutsideMergeClauseBoundariescallsPgSqlMergeParserTest::testParsesCteQualifiedTargetJoinSourceAndQuotedAliascallsPgSqlMergeParserTest::testParsesDefaultUpdateAndInsertWithoutColumnListcallsPgSqlMergeParserTest::testParsesMatchedUpdateAndNotMatchedInsertcallsPgSqlMergeParserTest::testParsesValuesSourceAndDefaultValuescallsPgSqlMergeParserTest::testPreservesEscapedQuotedIdentifiersAndNestedListscallsPgSqlMergeParserTest::testRejectsMalformedMergeWithSpecificReasoncallsPgSqlMergeParserTest::testRejectsMalformedOrUnsupportedMergeShapescallsPgSqlMergeParserTest::testSimpleCaseWhenMatchedExpressionIsNotAMergeClausecalls
Called from 2
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\MergeTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/MergeTransformer.php:45
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveMerge() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:154
Calls 8
- method-call HeaderParser::statementSql() line 33
- static-call SqlTokenStream::tokenize() line 34
- static-call PgSqlLexerProfile::create() line 34
- new StatementParts line 35
- method-call StatementParts::target() line 36
- method-call StatementParts::join() line 37
- new PgSqlMergeStatement line 38
- method-call StatementParts::clauses() line 44
Private surface 1§
Implementation details, listed for orientation only.
private HeaderParser $cteHeaderTest cases 33§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 11
PgSqlMergeParserTest::testEndIdentifierDoesNotCloseANonexistentCaseExpressioncallsPgSqlMergeParserTest::testFoldsUnquotedTargetAliasAndAssignmentIdentifierscallsPgSqlMergeParserTest::testIgnoresOnAndWhenKeywordsOutsideMergeClauseBoundariescallsPgSqlMergeParserTest::testParsesCteQualifiedTargetJoinSourceAndQuotedAliascallsPgSqlMergeParserTest::testParsesDefaultUpdateAndInsertWithoutColumnListcallsPgSqlMergeParserTest::testParsesMatchedUpdateAndNotMatchedInsertcallsPgSqlMergeParserTest::testParsesValuesSourceAndDefaultValuescallsPgSqlMergeParserTest::testPreservesEscapedQuotedIdentifiersAndNestedListscallsPgSqlMergeParserTest::testRejectsMalformedMergeWithSpecificReasoncallsPgSqlMergeParserTest::testRejectsMalformedOrUnsupportedMergeShapescallsPgSqlMergeParserTest::testSimpleCaseWhenMatchedExpressionIsNotAMergeClausecalls
Other tests reaching this symbol 22
PgSqlSessionFactoryTestcallsPgSqlRewriterTestcallsStatementRewriterTestcallsMatchConditionsTest::testEffectiveConditionscallsRowActionsTest::testInsertedRowscallsRowActionsTest::testModifiedRowsProjectsBothActionKindsInOrdercallsRowActionsTest::testUnchangedRowscallsRowActionsTest::testUpdatedRowscallsMergeTransformerTest::testDefaultIdentityValueIsGeneratedcallsMergeTransformerTest::testExplicitIdentityValueIsNotGeneratedcallsMergeTransformerTest::testPreservesFirstEligibleClauseOrderingAndCtePrefixcallsMergeTransformerTest::testProjectsDefaultsAndGeneratedColumnscallsMergeTransformerTest::testProjectsDefaultValuesAndIdentitycallsMergeTransformerTest::testRejectsChildPartitionTargetBeforeStateCanBeTruncatedcallsMergeTransformerTest::testRejectsNonListColumnMetadatacallsMergeTransformerTest::testRejectsUnknownInsertColumncallsMergeTransformerTest::testRejectsUnknownTargetAndViewTargetcallsMergeTransformerTest::testRejectsUnknownUpdateColumncallsMergeTransformerTest::testTransformsMixedUpdateAndInsertIntoCompleteTargetStatecallsPgSqlTransformerTestcallsRowMutationResolverTestcallsPgSqlMutationResolverTestcalls
Relations§
Instantiated in 2
- new ZtdQuery\Platform\Postgres\Rewrite\Transformer\PgSqlTransformer::__construct() packages/ztd-query-postgres/src/Rewrite/Transformer/PgSqlTransformer.php:42
- new ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveMerge() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:154
Method calls 2
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\MergeTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/MergeTransformer.php:45
- method-call ZtdQuery\Platform\Postgres\Shadow\Mutation\Row\RowMutationResolver::resolveMerge() packages/ztd-query-postgres/src/Shadow/Mutation/Row/RowMutationResolver.php:154