classRowSourceRenderer
final class RowSourceRenderer
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
Row source renderer operations for PostgreSQL cte.
Methods§
public function __construct(
CastRenderer $castRenderer,
PgSqlGeneratedColumnProjector $generatedColumnProjector,
IdentifierQuoter $quoter,
ValueRenderer $valueRenderer,
)Supplies the dependencies used by this RowSourceRenderer.
Parameters
$castRenderer | CastRenderer | |
$generatedColumnProjector | PgSqlGeneratedColumnProjector | |
$quoter | IdentifierQuoter | |
$valueRenderer | ValueRenderer |
public function generateCte<T>(
string $tableName,
array<int, array<string, T>> $rows,
array<int, string> $columns,
array<string, ColumnDeclaration> $columnTypes,
array<string, string> $generatedExpressions,
): stringParameters
$tableName | string | |
$rows | array<int, array<string, T>> | |
$columns | array<int, string> | |
$columnTypes | array<string, ColumnDeclaration> | |
$generatedExpressions | array<string, string> |
Returns
stringThrows
RuntimeExceptionTest cases 1
Called from 1
Calls 7
- method-call IdentifierQuoter::quote() line 53
- method-call RowSourceRenderer::wrapCte() line 56
- method-call RowSourceRenderer::declaredSource() line 56
- new
RuntimeExceptionline 60 - method-call RowSourceRenderer::formatValue() line 69
- function-call
implodeline 72 - function-call
array_keysline 77
public function generateMultiRowSource<T>(
array<int, array<string, T>> $rows,
array<int, string> $columns,
array<string, ColumnDeclaration> $columnTypes,
): stringParameters
$rows | array<int, array<string, T>> | |
$columns | array<int, string> | |
$columnTypes | array<string, ColumnDeclaration> |
Returns
stringTest cases 1
Called from 1
Calls 3
- method-call RowSourceRenderer::formatValue() line 96
- function-call
implodeline 98 - method-call IdentifierQuoter::quote() line 103
public function wrapCte(
string $quotedTable,
string $baseSql,
array<int, string> $columns,
array<string, string> $generatedExpressions,
): stringParameters
$quotedTable | string | |
$baseSql | string | |
$columns | array<int, string> | |
$generatedExpressions | array<string, string> |
Returns
stringTest cases 1
Called from 2
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\Cte\RowSourceRenderer::generateCte() packages/ztd-query-postgres/src/Rewrite/Transformer/Cte/RowSourceRenderer.php:56
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\Cte\RowSourceRenderer::generateCte() packages/ztd-query-postgres/src/Rewrite/Transformer/Cte/RowSourceRenderer.php:77
Calls 1
- method-call PgSqlGeneratedColumnProjector::project() line 122
public function formatValue<T>(T $val, ?ColumnDeclaration $colType = null): stringFormat value.
Parameters
$val | T | |
$colType | ?ColumnDeclaration |
Returns
stringTest cases 1
Called from 3
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\Cte\RowSourceRenderer::generateCte() packages/ztd-query-postgres/src/Rewrite/Transformer/Cte/RowSourceRenderer.php:69
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\Cte\RowSourceRenderer::generateMultiRowSource() packages/ztd-query-postgres/src/Rewrite/Transformer/Cte/RowSourceRenderer.php:96
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\Cte\RowSourceRenderer::declaredSource() packages/ztd-query-postgres/src/Rewrite/Transformer/Cte/RowSourceRenderer.php:168
Calls 1
- method-call ValueRenderer::renderValue() line 134
public function renderFallbackNullCast(): stringRender fallback null cast.
Returns
stringTest cases 1
Called from 1
Calls 3
- method-call CastRenderer::renderNullCast() line 142
- new ColumnDeclaration line 143
- class-const ColumnTypeFamily::TEXT() line 143
public function declaredSource<T>(
array<int, array<string, T>> $rows,
array<int, string> $columns,
array<string, ColumnDeclaration> $columnTypes,
): stringRenders an empty, single-row or multi-row source using declared column types.
Parameters
$rows | array<int, array<string, T>> | |
$columns | array<int, string> | |
$columnTypes | array<string, ColumnDeclaration> |
Returns
stringCalled from 1
Calls 7
- method-call CastRenderer::renderNullCast() line 159
- method-call RowSourceRenderer::renderFallbackNullCast() line 159
- method-call IdentifierQuoter::quote() line 160
- function-call
implodeline 162 - function-call
countline 164 - method-call RowSourceRenderer::formatValue() line 168
- method-call RowSourceRenderer::generateMultiRowSource() line 173
Private surface 4§
Implementation details, listed for orientation only.
private CastRenderer $castRendererprivate PgSqlGeneratedColumnProjector $generatedColumnProjectorprivate IdentifierQuoter $quoterprivate ValueRenderer $valueRendererTest cases 15§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 6
RowSourceRendererTest::testDeclaredSourceRendersEmptyTypedAndSingleRowSourcescallsRowSourceRendererTest::testFormatValuecallsRowSourceRendererTest::testGenerateCtecallsRowSourceRendererTest::testGenerateMultiRowSourcecallsRowSourceRendererTest::testRenderFallbackNullCastcallsRowSourceRendererTest::testWrapCtecalls
Other tests reaching this symbol 9
PgSqlSessionFactoryTestcallsPgSqlRewriterTestcallsStatementRewriterTestcallsDeleteTransformerTestcallsInsertTransformerTestcallsMergeTransformerTestcallsPgSqlTransformerTestcallsSelectTransformerTestcallsUpdateTransformerTestcalls