classInsertSelectProjection
final class InsertSelectProjection
The insert select projection.
Methods§
public function __construct(
private string $targetColumn,
private ?int $sourceIndex,
private ?string $defaultExpression,
private ?int $generatedIdentityStart,
private bool $nullValue,
)Binds one column of the projection to exactly one of the four things it can be.
Every way of building one goes through a named constructor, because which of the four it is decides what the SELECT says in its place.
Parameters
$targetColumn | string | |
$sourceIndex | ?int | |
$defaultExpression | ?string | |
$generatedIdentityStart | ?int | |
$nullValue | bool |
Test cases 7
InsertSelectProjectionTest::testDefaultExpressionValueDefaultExpressionRepresentsSourceExpressionGeneratedIdentityAndNullWithoutSqlRenderingcoversInsertSelectProjectionTest::testGeneratedIdentityStartIsTheFirstNumberTheDatabaseWouldAssigncoversInsertSelectProjectionTest::testIsNullValueIsFalseForEveryOtherKindOfColumncoversInsertSelectProjectionTest::testNullValueReadsBackAsNullAndNothingElsecoversInsertSelectProjectionTest::testSourceIndexIsNothingForAColumnTheQueryDoesNotSupplycoversInsertSelectProjectionTest::testSourceIndexIsWhereInTheQueryTheValueComesFromcoversInsertSelectProjectionTest::testTargetColumnNamesTheColumnOfTheTargetTablecovers
public static function source(string $targetColumn, int $sourceIndex): selfParameters
$targetColumn | string | |
$sourceIndex | int |
Returns
selfThrows
InvalidDefinitionException When the position is before the start of the projectionTest cases 4
InsertSelectProjectionTest::testDefaultExpressionValueDefaultExpressionRepresentsSourceExpressionGeneratedIdentityAndNullWithoutSqlRenderingcovers and callsInsertSelectProjectionTest::testIsNullValueIsFalseForEveryOtherKindOfColumncovers and callsInsertSelectProjectionTest::testSourceIndexIsWhereInTheQueryTheValueComesFromcovers and callsInsertSelectProjectionTest::testTargetColumnNamesTheColumnOfTheTargetTablecovers and calls
Called from 1
Calls 2
- new InvalidDefinitionException line 35
- new
selfline 38
public static function defaultExpression(string $targetColumn, string $expression): selfDefault expression.
Parameters
$targetColumn | string | |
$expression | string |
Returns
selfTest cases 1
Called from 1
Calls 1
- new
selfline 50
public static function generatedIdentity(string $targetColumn, int $start): selfParameters
$targetColumn | string | |
$start | int |
Returns
selfThrows
InvalidDefinitionException When the first identity is not a positive numberTest cases 3
InsertSelectProjectionTest::testDefaultExpressionValueDefaultExpressionRepresentsSourceExpressionGeneratedIdentityAndNullWithoutSqlRenderingcovers and callsInsertSelectProjectionTest::testGeneratedIdentityStartIsTheFirstNumberTheDatabaseWouldAssigncovers and callsInsertSelectProjectionTest::testIsNullValueIsFalseForEveryOtherKindOfColumncovers and calls
Called from 1
Calls 2
- new InvalidDefinitionException line 59
- new
selfline 62
public static function nullValue(string $targetColumn): selfNull value.
Parameters
$targetColumn | string |
Returns
selfTest cases 3
InsertSelectProjectionTest::testDefaultExpressionValueDefaultExpressionRepresentsSourceExpressionGeneratedIdentityAndNullWithoutSqlRenderingcovers and callsInsertSelectProjectionTest::testNullValueReadsBackAsNullAndNothingElsecovers and callsInsertSelectProjectionTest::testSourceIndexIsNothingForAColumnTheQueryDoesNotSupplycovers and calls
Called from 1
Calls 1
- new
selfline 73
public function targetColumn(): stringTarget column.
Returns
stringpublic function sourceIndex(): ?intSource index.
Returns
?intTest cases 4
InsertSelectProjectionTest::testDefaultExpressionValueDefaultExpressionRepresentsSourceExpressionGeneratedIdentityAndNullWithoutSqlRenderingcoversInsertSelectProjectionTest::testNullValueReadsBackAsNullAndNothingElsecoversInsertSelectProjectionTest::testSourceIndexIsNothingForAColumnTheQueryDoesNotSupplycoversInsertSelectProjectionTest::testSourceIndexIsWhereInTheQueryTheValueComesFromcovers
public function defaultExpressionValue(): ?stringDefault expression value.
Returns
?stringpublic function generatedIdentityStart(): ?intGenerated identity start.
Returns
?intTest cases 3
InsertSelectProjectionTest::testDefaultExpressionValueDefaultExpressionRepresentsSourceExpressionGeneratedIdentityAndNullWithoutSqlRenderingcoversInsertSelectProjectionTest::testGeneratedIdentityStartIsTheFirstNumberTheDatabaseWouldAssigncoversInsertSelectProjectionTest::testNullValueReadsBackAsNullAndNothingElsecovers
public function isNullValue(): boolReports whether null value.
Returns
boolTest cases 3
InsertSelectProjectionTest::testDefaultExpressionValueDefaultExpressionRepresentsSourceExpressionGeneratedIdentityAndNullWithoutSqlRenderingcoversInsertSelectProjectionTest::testIsNullValueIsFalseForEveryOtherKindOfColumncoversInsertSelectProjectionTest::testNullValueReadsBackAsNullAndNothingElsecovers
Private surface 5§
Implementation details, listed for orientation only.
private string $targetColumnprivate ?int $sourceIndexprivate ?string $defaultExpressionprivate ?int $generatedIdentityStartprivate bool $nullValueTest cases 8§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 7
InsertSelectProjectionTest::testDefaultExpressionValueDefaultExpressionRepresentsSourceExpressionGeneratedIdentityAndNullWithoutSqlRenderingcovers and callsInsertSelectProjectionTest::testGeneratedIdentityStartIsTheFirstNumberTheDatabaseWouldAssigncovers and callsInsertSelectProjectionTest::testIsNullValueIsFalseForEveryOtherKindOfColumncovers and callsInsertSelectProjectionTest::testNullValueReadsBackAsNullAndNothingElsecovers and callsInsertSelectProjectionTest::testSourceIndexIsNothingForAColumnTheQueryDoesNotSupplycovers and callsInsertSelectProjectionTest::testSourceIndexIsWhereInTheQueryTheValueComesFromcovers and callsInsertSelectProjectionTest::testTargetColumnNamesTheColumnOfTheTargetTablecovers and calls
Other tests reaching this symbol 1
Relations§
Static calls 4
- static-call ZtdQuery\Rewrite\InsertSelectProjectionPlanner::plan() packages/ztd-query-core/src/Rewrite/InsertSelectProjectionPlanner.php:34
- static-call ZtdQuery\Rewrite\InsertSelectProjectionPlanner::plan() packages/ztd-query-core/src/Rewrite/InsertSelectProjectionPlanner.php:38
- static-call ZtdQuery\Rewrite\InsertSelectProjectionPlanner::plan() packages/ztd-query-core/src/Rewrite/InsertSelectProjectionPlanner.php:42
- static-call ZtdQuery\Rewrite\InsertSelectProjectionPlanner::plan() packages/ztd-query-core/src/Rewrite/InsertSelectProjectionPlanner.php:45