final class StatementRewriter
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.

Statement rewriter operations for PostgreSQL session.

Methods§

public function __construct(
    PgSqlCteShadowComposer $cteComposer,
    PgSqlQueryGuard $guard,
    PgSqlMutationResolver $mutationResolver,
    PgSqlParser $parser,
    PgSqlPartitionPredicateRenderer $partitionPredicateRenderer,
    TableDefinitionRegistry $registry,
    PgSqlReturningProjectionParser $returningProjectionParser,
    ShadowStore $shadowStore,
    PgSqlTransformer $transformer,
    ViewDefinitionSet $views,
)

Supplies the dependencies used by this StatementRewriter.

Parameters

$cteComposerPgSqlCteShadowComposer
$guardPgSqlQueryGuard
$mutationResolverPgSqlMutationResolver
$parserPgSqlParser
$partitionPredicateRendererPgSqlPartitionPredicateRenderer
$registryTableDefinitionRegistry
$returningProjectionParserPgSqlReturningProjectionParser
$shadowStoreShadowStore
$transformerPgSqlTransformer
$viewsViewDefinitionSet
public function validateReadTables(string $sql): void
public function rewriteMutation<T>(
    string $sql,
    QueryKind $kind,
    ?string $statementType,
    array<string, array{viewSql: string}|array{rows: array<int, array<string, T>>, columns: array<int, string>, columnTypes: array<string, ColumnDeclaration>, columnDefaults: array<string, string>, identityStrategies: array<string, IdentityGenerationStrategy>, generatedExpressions: array<string, string>, sourceSql?: string, storageTable?: string}> $tableContext,
): RewritePlan

Constructs the DDL or DML result-select plan and its simulated mutation.

Parameters

$sqlstring
$kindQueryKind
$statementType?string
$tableContextarray<string, array{viewSql: string}|array{rows: array<int, array<string, T>>, columns: array<int, string>, columnTypes: array<string, ColumnDeclaration>, columnDefaults: array<string, string>, identityStrategies: array<string, IdentityGenerationStrategy>, generatedExpressions: array<string, string>, sourceSql?: string, storageTable?: string}>
Test cases 1
Called from 1
Calls 10

Private surface 10§

Implementation details, listed for orientation only.

private PgSqlCteShadowComposer $cteComposer
private PgSqlQueryGuard $guard
private PgSqlMutationResolver $mutationResolver
private PgSqlParser $parser
private PgSqlPartitionPredicateRenderer $partitionPredicateRenderer
private TableDefinitionRegistry $registry
private PgSqlReturningProjectionParser $returningProjectionParser
private ShadowStore $shadowStore
private PgSqlTransformer $transformer
private ViewDefinitionSet $views

Test cases 5§

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

Dedicated tests 3
Other tests reaching this symbol 2

Relations§

Instantiated in 2
Method calls 2