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

$castRendererCastRenderer
$generatedColumnProjectorPgSqlGeneratedColumnProjector
$quoterIdentifierQuoter
$valueRendererValueRenderer
public function generateCte<T>(
    string $tableName,
    array<int, array<string, T>> $rows,
    array<int, string> $columns,
    array<string, ColumnDeclaration> $columnTypes,
    array<string, string> $generatedExpressions,
): string

Parameters

$tableNamestring
$rowsarray<int, array<string, T>>
$columnsarray<int, string>
$columnTypesarray<string, ColumnDeclaration>
$generatedExpressionsarray<string, string>

Returns

string

Throws

RuntimeException
Test cases 1
Called from 1
Calls 7
public function generateMultiRowSource<T>(
    array<int, array<string, T>> $rows,
    array<int, string> $columns,
    array<string, ColumnDeclaration> $columnTypes,
): string

Parameters

$rowsarray<int, array<string, T>>
$columnsarray<int, string>
$columnTypesarray<string, ColumnDeclaration>

Returns

string
Test cases 1
Called from 1
Calls 3
public function wrapCte(
    string $quotedTable,
    string $baseSql,
    array<int, string> $columns,
    array<string, string> $generatedExpressions,
): string
public function declaredSource<T>(
    array<int, array<string, T>> $rows,
    array<int, string> $columns,
    array<string, ColumnDeclaration> $columnTypes,
): string

Renders an empty, single-row or multi-row source using declared column types.

Parameters

$rowsarray<int, array<string, T>>
$columnsarray<int, string>
$columnTypesarray<string, ColumnDeclaration>

Returns

string
Test cases 1
Called from 1
Calls 7

Private surface 4§

Implementation details, listed for orientation only.

private CastRenderer $castRenderer
private PgSqlGeneratedColumnProjector $generatedColumnProjector
private IdentifierQuoter $quoter
private ValueRenderer $valueRenderer

Test cases 15§

Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.

Dedicated tests 6
Other tests reaching this symbol 9

Relations§

Instantiated in 1
Method calls 1