classPgSqlSelectRelationParser
final class PgSqlSelectRelationParser
Select relation parser for PostgreSQL queries.
Methods§
public function fromClauses(string $sql): list<string>Parameters
$sql | string |
Returns
list<string>Test cases 4
PgSqlSelectRelationParserTest::testFromClausesUsePostgreSqlBoundariescallsPgSqlSelectRelationParserTest::testNestedSelectFromClausesStopAtTheirOwnScopeBoundarycallsPgSqlSelectRelationParserTest::testSetOperatorsAndRepeatedFromCloseTheCurrentSelectScopecallsPgSqlSelectRelationParserTest::testStopsFromClauseAtEveryPostgresBoundarycalls
Calls 6
- method-call RelationReference::tokens() line 17
- new RelationReference line 17
- method-call FromClause::findFromEnd() line 37
- new FromClause line 37
- function-call
trimline 38 - function-call
substrline 38
public function tableNames(string $sql): list<string>Parameters
$sql | string |
Returns
list<string>Test cases 7
PgSqlSelectRelationParserTest::testDoesNotTreatQuotedFunctionNameAsRelationcallsPgSqlSelectRelationParserTest::testFindsParenthesizedJoinedRelationsButNotDerivedProducerscallsPgSqlSelectRelationParserTest::testKeepsOneCaseInsensitiveRelationNamecallsPgSqlSelectRelationParserTest::testReferencesDoNotReadPastTheFromClauseBoundarycallsPgSqlSelectRelationParserTest::testRejectsMySqlAndLiteralSourceFormscallsPgSqlSelectRelationParserTest::testSetOperatorsAndRepeatedFromCloseTheCurrentSelectScopecallsPgSqlSelectRelationParserTest::testTableNamesFindsPostgreSqlRelationsWithoutTableFunctionscalls
Called from 2
- method-call ZtdQuery\Platform\Postgres\Schema\View\PgSqlViewDefinitionParser::fromQuery() packages/ztd-query-postgres/src/Schema/View/PgSqlViewDefinitionParser.php:24
- method-call ZtdQuery\Platform\Postgres\Sql\PgSqlParser::extractSelectTableNames() packages/ztd-query-postgres/src/Sql/PgSqlParser.php:411
Calls 3
- method-call PgSqlSelectRelationParser::references() line 54
- function-call
strtolowerline 55 - function-call
array_valuesline 61
public function references(string $sql): list<array{name: string, start: int, unqualifiedStart: int, end: int}>Parameters
$sql | string |
Returns
list<array{name: string, start: int, unqualifiedStart: int, end: int}>Test cases 4
PgSqlSelectRelationParserTest::testFindsParenthesizedJoinedRelationsButNotDerivedProducerscallsPgSqlSelectRelationParserTest::testParenthesizedRelationOffsetsDoNotIncludeFollowingAliascallsPgSqlSelectRelationParserTest::testReferencesExposeExactQualifiedIdentifierOffsetscallsPgSqlSelectRelationParserTest::testUnqualifyReferencesPreserveOffsetsAndUnqualifyOnlyTargetscalls
Called from 3
- method-call ZtdQuery\Platform\Postgres\Sql\Relation\PgSqlSelectRelationParser::tableNames() packages/ztd-query-postgres/src/Sql/Relation/PgSqlSelectRelationParser.php:54
- method-call ZtdQuery\Platform\Postgres\Sql\Relation\PgSqlSelectRelationParser::unqualify() packages/ztd-query-postgres/src/Sql/Relation/PgSqlSelectRelationParser.php:110
- method-call ZtdQuery\Platform\Postgres\Sql\Sampling\PgSqlTableSampleParser::parse() packages/ztd-query-postgres/src/Sql/Sampling/PgSqlTableSampleParser.php:25
Calls 6
- method-call RelationReference::tokens() line 69
- new RelationReference line 69
- method-call FromClause::findFromEnd() line 86
- new FromClause line 86
- function-call
substrline 87 - method-call FromClause::referencesFromClause() line 88
public function unqualify(string $sql, list<string> $relationNames): stringParameters
$sql | string | |
$relationNames | list<string> |
Returns
stringTest cases 2
Called from 2
- method-call ZtdQuery\Platform\Postgres\Rewrite\Cte\PgSqlCteShadowComposer::compose() packages/ztd-query-postgres/src/Rewrite/Cte/PgSqlCteShadowComposer.php:29
- method-call ZtdQuery\Platform\Postgres\Rewrite\View\PgSqlViewShadowRenderer::render() packages/ztd-query-postgres/src/Rewrite/View/PgSqlViewShadowRenderer.php:26
Test cases 43§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 14
PgSqlSelectRelationParserTest::testDoesNotTreatQuotedFunctionNameAsRelationcallsPgSqlSelectRelationParserTest::testFindsParenthesizedJoinedRelationsButNotDerivedProducerscallsPgSqlSelectRelationParserTest::testFromClausesUsePostgreSqlBoundariescallsPgSqlSelectRelationParserTest::testKeepsOneCaseInsensitiveRelationNamecallsPgSqlSelectRelationParserTest::testNestedSelectFromClausesStopAtTheirOwnScopeBoundarycallsPgSqlSelectRelationParserTest::testParenthesizedRelationOffsetsDoNotIncludeFollowingAliascallsPgSqlSelectRelationParserTest::testReferencesDoNotReadPastTheFromClauseBoundarycallsPgSqlSelectRelationParserTest::testReferencesExposeExactQualifiedIdentifierOffsetscallsPgSqlSelectRelationParserTest::testRejectsMySqlAndLiteralSourceFormscallsPgSqlSelectRelationParserTest::testSetOperatorsAndRepeatedFromCloseTheCurrentSelectScopecallsPgSqlSelectRelationParserTest::testStopsFromClauseAtEveryPostgresBoundarycallsPgSqlSelectRelationParserTest::testTableNamesFindsPostgreSqlRelationsWithoutTableFunctionscallsPgSqlSelectRelationParserTest::testUnqualifiesMultipleTargetsCaseInsensitivelyFromRightToLeftcallsPgSqlSelectRelationParserTest::testUnqualifyReferencesPreserveOffsetsAndUnqualifyOnlyTargetscalls
Other tests reaching this symbol 29
PgSqlSessionFactoryTestcallsTableContextTestcallsPgSqlCteShadowComposerTestcallsPgSqlQueryGuardTestcallsPgSqlRewriterTestcallsPgSqlTableSampleRewriterTestcallsStatementRewriterTestcallsDeleteTransformerTestcallsSelectProjectionTestcallsUpsertProjectionTestcallsValueProjectionTestcallsInsertSelectRendererTestcallsInsertTransformerTestcallsMatchConditionsTestcallsRowActionsTestcallsMergeTransformerTestcallsPgSqlTransformerTestcallsSelectTransformerTestcallsUpdateTransformerTestcallsPgSqlViewShadowRendererTestcallsPgSqlSchemaReflectorTestcallsPgSqlViewDefinitionParserTestcallsSchemaInitializerTestcallsRowMutationResolverTestcallsTableMutationResolverTestcallsPgSqlMutationResolverTestcallsPgSqlMergeParserTestcallsPgSqlParserTestcallsPgSqlTableSampleParserTestcalls
Relations§
Instantiated in 5
- new ZtdQuery\Platform\Postgres\Rewrite\Cte\PgSqlCteShadowComposer::compose() packages/ztd-query-postgres/src/Rewrite/Cte/PgSqlCteShadowComposer.php:29
- new ZtdQuery\Platform\Postgres\Rewrite\View\PgSqlViewShadowRenderer::render() packages/ztd-query-postgres/src/Rewrite/View/PgSqlViewShadowRenderer.php:24
- new ZtdQuery\Platform\Postgres\Schema\View\PgSqlViewDefinitionParser::fromQuery() packages/ztd-query-postgres/src/Schema/View/PgSqlViewDefinitionParser.php:24
- new ZtdQuery\Platform\Postgres\Sql\PgSqlParser::extractSelectTableNames() packages/ztd-query-postgres/src/Sql/PgSqlParser.php:411
- new ZtdQuery\Platform\Postgres\Sql\Sampling\PgSqlTableSampleParser::parse() packages/ztd-query-postgres/src/Sql/Sampling/PgSqlTableSampleParser.php:25
Method calls 5
- method-call ZtdQuery\Platform\Postgres\Rewrite\Cte\PgSqlCteShadowComposer::compose() packages/ztd-query-postgres/src/Rewrite/Cte/PgSqlCteShadowComposer.php:29
- method-call ZtdQuery\Platform\Postgres\Rewrite\View\PgSqlViewShadowRenderer::render() packages/ztd-query-postgres/src/Rewrite/View/PgSqlViewShadowRenderer.php:26
- method-call ZtdQuery\Platform\Postgres\Schema\View\PgSqlViewDefinitionParser::fromQuery() packages/ztd-query-postgres/src/Schema/View/PgSqlViewDefinitionParser.php:24
- method-call ZtdQuery\Platform\Postgres\Sql\PgSqlParser::extractSelectTableNames() packages/ztd-query-postgres/src/Sql/PgSqlParser.php:411
- method-call ZtdQuery\Platform\Postgres\Sql\Sampling\PgSqlTableSampleParser::parse() packages/ztd-query-postgres/src/Sql/Sampling/PgSqlTableSampleParser.php:25