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

Schema context operations for PostgreSQL session.

Methods§

public function __construct(
    PgSqlPartitionPredicateRenderer $partitionPredicateRenderer,
    TableDefinitionRegistry $registry,
    ShadowStore $shadowStore,
    ViewDefinitionSet $views,
)

Supplies the dependencies used by this TableContext.

Parameters

public function buildTableContext<T>(array<string, array<int, array<string, T>>> $allData): 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}>

Build the table context map for transformers.

Parameters

$allDataarray<string, array<int, array<string, T>>>

Returns

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}>
Test cases 1
Called from 1
Calls 6
public function dataContext<T>(array<string, array<int, array<string, T>>> $allData): array<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>, primaryKeys: array<int, string>, candidateKeys: array<string, array<int, string>>, partialUniqueIndexes: array<string, PartialUniqueIndex>, sourceSql?: string, storageTable?: string}>

Derives declaration metadata and columns for materialized shadow rows.

Parameters

$allDataarray<string, array<int, array<string, T>>>

Returns

array<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>, primaryKeys: array<int, string>, candidateKeys: array<string, array<int, string>>, partialUniqueIndexes: array<string, PartialUniqueIndex>, sourceSql?: string, storageTable?: string}>
Test cases 3
Called from 1
Calls 3
public function fillDefinitions<T>(array<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>, primaryKeys: array<int, string>, candidateKeys: array<string, array<int, string>>, partialUniqueIndexes: array<string, PartialUniqueIndex>, sourceSql?: string, storageTable?: string}> $context): array<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>, primaryKeys: array<int, string>, candidateKeys: array<string, array<int, string>>, partialUniqueIndexes: array<string, PartialUniqueIndex>, sourceSql?: string, storageTable?: string}>

Adds reflected tables that have no materialized shadow rows yet.

Parameters

$contextarray<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>, primaryKeys: array<int, string>, candidateKeys: array<string, array<int, string>>, partialUniqueIndexes: array<string, PartialUniqueIndex>, sourceSql?: string, storageTable?: string}>

Returns

array<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>, primaryKeys: array<int, string>, candidateKeys: array<string, array<int, string>>, partialUniqueIndexes: array<string, PartialUniqueIndex>, sourceSql?: string, storageTable?: string}>
Test cases 2
Called from 1
Calls 1
public function applyPartitions<T>(
    array<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>, primaryKeys: array<int, string>, candidateKeys: array<string, array<int, string>>, partialUniqueIndexes: array<string, PartialUniqueIndex>, sourceSql?: string, storageTable?: string}> $context,
    array<string, array<int, array<string, T>>> $allData,
): array<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>, primaryKeys: array<int, string>, candidateKeys: array<string, array<int, string>>, partialUniqueIndexes: array<string, PartialUniqueIndex>, sourceSql?: string, storageTable?: string}>

Projects child partitions from their shared storage table and sibling predicates.

Parameters

$contextarray<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>, primaryKeys: array<int, string>, candidateKeys: array<string, array<int, string>>, partialUniqueIndexes: array<string, PartialUniqueIndex>, sourceSql?: string, storageTable?: string}>
$allDataarray<string, array<int, array<string, T>>>

Returns

array<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>, primaryKeys: array<int, string>, candidateKeys: array<string, array<int, string>>, partialUniqueIndexes: array<string, PartialUniqueIndex>, sourceSql?: string, storageTable?: string}>
Test cases 1
Called from 1
Calls 7

Private surface 4§

Implementation details, listed for orientation only.

private PgSqlPartitionPredicateRenderer $partitionPredicateRenderer
private TableDefinitionRegistry $registry
private ShadowStore $shadowStore
private ViewDefinitionSet $views

Test cases 9§

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 3

Relations§

Instantiated in 3
Method calls 3