classPlanValidation
final class PlanValidation
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
Validates relation bindings and orders tables by dependency.
Methods§
public function rejectColumnsBoundTwice(list<Relation> $relations): voidA column set references one parent, so binding it twice is a mistake whether the two relations agree or not.
Parameters
$relations | list<Relation> |
Called from 1
Calls 1
public function rejectUnboundedSelfReferences(list<Relation> $relations): voidA table that requires a row of itself can never finish.
Parameters
$relations | list<Relation> |
Called from 1
Calls 3
- new UnboundedSelfReferenceException line 52
- method-call PlanPrinter::printRelation() line 54
- new PlanPrinter line 54
public function sortByDependency(list<string> $tables, list<Relation> $relations): list<string>Order the tables so every parent comes before its children.
Self references are left out of the ordering: a table cannot precede itself, and an optional one terminates on its own.
Parameters
$tables | list<string> | |
$relations | list<Relation> |
Returns
list<string>Test cases 3
Called from 1
Calls 2
- method-call PlanValidation::waitsForAny() line 81
- new CyclicDependencyException line 90
Test cases 34§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 4
Other tests reaching this symbol 30
PostgreSqlEndToEndTestcallsSqliteIntegrationTestcallsConnectedTablesTestcallsOverrideSpecsTestcallsRelationCountsTestcallsRelationProjectionTestcallsRowMaterializerTestcallsGenerationRunTestcallsPlanGeneratorTestcallsPlanSchemaExceptionTestcallsPlanSchemaValidatorTestcallsEndpointValidatorTestcallsFixtureProviderTestcallsConstructorHydrationTestcallsPropertyHydrationTestcallsColumnRefTestcallsFixturePlanTestcallsPlanStatementsTestcallsRelationCursorTestcallsRelationReaderTestcallsPlanParserTestcallsPlanPrinterTestcallsPlanStructureExceptionTestcallsPlanSyntaxExceptionTestcallsPlanTablesTestcallsRelationGroupsTestcallsStatementPrinterTestcallsRelationTestcallsTableNameTestcallsSqlSchemaProviderTestcalls
Relations§
Instantiated in 3
Method calls 3
- method-call SqlFixture\Plan\FixturePlan::__construct() packages/sql-fixture/src/Plan/FixturePlan.php:94
- method-call SqlFixture\Plan\FixturePlan::__construct() packages/sql-fixture/src/Plan/FixturePlan.php:95
- method-call SqlFixture\Plan\FixturePlan::__construct() packages/sql-fixture/src/Plan/FixturePlan.php:96