classPgSqlRewriter
final class PgSqlRewriter
implements SqlRewriter, RewriteStateCommitter
Public API: explicitly declared with
@visibility public.PostgreSQL rewrite implementation for ZTD.
Orchestrates parsing, classification, transformation, and mutation resolution. Uses Result Select Query approach (not RETURNING) for consistency across platforms.
$parser = new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser();
$store = new \ZtdQuery\Shadow\ShadowStore();
$registry = new \ZtdQuery\Schema\TableDefinitionRegistry();
$select = new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\SelectTransformer();
$transformer = new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\PgSqlTransformer($parser, $select, new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer($parser, $select), new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer($parser, $select), new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer($parser, $select));
$resolver = new \ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver($store, $registry, new \ZtdQuery\Platform\Postgres\Schema\PgSqlSchemaParser(), $parser);
$rewriter = new \ZtdQuery\Platform\Postgres\Rewrite\PgSqlRewriter(new \ZtdQuery\Platform\Postgres\Rewrite\PgSqlQueryGuard($parser), $store, $registry, $transformer, $resolver, $parser);
$rewriter->rewrite('SELECT 1')->sql() // => 'SELECT 1'Methods§
public function transactionStatement(string $sql): ?TransactionStatementPublic API: explicitly declared with
@visibility public.Parses a transaction control statement into a shadow transaction operation.
Parameters
$sql | string |
Returns
$parser = new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser();
$store = new \ZtdQuery\Shadow\ShadowStore();
$registry = new \ZtdQuery\Schema\TableDefinitionRegistry();
$select = new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\SelectTransformer();
$transformer = new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\PgSqlTransformer($parser, $select, new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer($parser, $select), new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer($parser, $select), new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer($parser, $select));
$resolver = new \ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver($store, $registry, new \ZtdQuery\Platform\Postgres\Schema\PgSqlSchemaParser(), $parser);
$rewriter = new \ZtdQuery\Platform\Postgres\Rewrite\PgSqlRewriter(new \ZtdQuery\Platform\Postgres\Rewrite\PgSqlQueryGuard($parser), $store, $registry, $transformer, $resolver, $parser);
$rewriter->transactionStatement('SELECT 1') // => nullCalls 2
public function __construct(
PgSqlQueryGuard $guard,
ShadowStore $shadowStore,
TableDefinitionRegistry $registry,
PgSqlTransformer $transformer,
PgSqlMutationResolver $mutationResolver,
PgSqlParser $parser,
?ViewDefinitionSet $views = null,
)Initializes the collaborators and state used by this rewriter.
Parameters
$guard | PgSqlQueryGuard | |
$shadowStore | ShadowStore | |
$registry | TableDefinitionRegistry | |
$transformer | PgSqlTransformer | |
$mutationResolver | PgSqlMutationResolver | |
$parser | PgSqlParser | |
$views | ?ViewDefinitionSet |
public function rewrite(string $sql): RewritePlanPublic API: explicitly declared with
@visibility public.{@inheritDoc}
Parameters
$sql | string |
Returns
Throws
UnsupportedSqlException When SQL is empty, unparseable, or multi-statement.UnknownSchemaException When SQL references unknown tables/columns.$parser = new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser();
$store = new \ZtdQuery\Shadow\ShadowStore();
$registry = new \ZtdQuery\Schema\TableDefinitionRegistry();
$select = new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\SelectTransformer();
$transformer = new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\PgSqlTransformer($parser, $select, new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer($parser, $select), new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer($parser, $select), new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer($parser, $select));
$resolver = new \ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver($store, $registry, new \ZtdQuery\Platform\Postgres\Schema\PgSqlSchemaParser(), $parser);
$rewriter = new \ZtdQuery\Platform\Postgres\Rewrite\PgSqlRewriter(new \ZtdQuery\Platform\Postgres\Rewrite\PgSqlQueryGuard($parser), $store, $registry, $transformer, $resolver, $parser);
$plan = $rewriter->rewrite('SELECT 1');
$plan->sql() // => 'SELECT 1'
$plan->kind() === \ZtdQuery\Rewrite\QueryKind::READ // => trueTest cases 125
RewriterBench::benchRewriteInsertcallsRewriterBench::benchRewriteSelectcallsFullPipelineFuzzTest::testCreateTableRewriteRegistersThenDmlSucceedscallsFullPipelineFuzzTest::testCreateTableThenDeleteDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenInsertDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenSelectDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenUpdateDoesNotCrashcallsFullPipelineFuzzTest::testShadowStoreIntegrityAfterMultipleOperationscallsRewriteCheck::verifycallsRewriteFuzzTest::testClassifyRewriteAgreementcallsRewriteFuzzTest::testRewriteCreateTableReturnsDdlSimulatedKindcallsRewriteFuzzTest::testRewriteDeleteReturnsWriteSimulatedKindcallsRewriteFuzzTest::testRewriteDropTableReturnsDdlSimulatedKindcallsRewriteFuzzTest::testRewriteExceptionTypesAndPlanConsistencycallsRewriteFuzzTest::testRewriteInsertReturnsWriteSimulatedKindcallsRewriteFuzzTest::testRewriteSelectReturnsReadKindcallsRewriteFuzzTest::testRewriteUpdateReturnsWriteSimulatedKindcallsPgSqlRewriterTest::testAlterTableThrowsUnsupportedcallsPgSqlRewriterTest::testBuildTableContextMergesRegistryAndShadowcallsPgSqlRewriterTest::testBuildTableContextRegistryAndShadowBothIncludedcallsPgSqlRewriterTest::testBuildTableContextRegistryOnlyNoShadowcallsPgSqlRewriterTest::testBuildTableContextShadowOnlyDerivesDifferentColumnsAcrossRowscallsPgSqlRewriterTest::testBuildTableContextShadowOnlyDifferentColumnKeyscallsPgSqlRewriterTest::testBuildTableContextShadowOnlyDifferentColumnKeysDetailedcallsPgSqlRewriterTest::testBuildTableContextShadowOnlyWithEmptyRowsNoCtecallsPgSqlRewriterTest::testBuildTableContextShadowOnlyWithRowsDeriveColumnscallsPgSqlRewriterTest::testChildPartitionSelectUsesFilteredParentShadowSourcecallsPgSqlRewriterTest::testChildPartitionWriteMutationTargetsRootParentcallsPgSqlRewriterTest::testCommitIsSkippedcallsPgSqlRewriterTest::testCommitRewriteStateRetainsAllocatedSequenceValuescallsPgSqlRewriterTest::testCreateTableAsSelectNoShadowReturnsSqlWhereFalsecallsPgSqlRewriterTest::testCreateTableAsSelectReturnsDdlWithTransformedSqlcallsPgSqlRewriterTest::testCreateTableAsSelectTransformsSelectPartcallsPgSqlRewriterTest::testCreateTableAsSelectWithRegisteredSourceTablecallsPgSqlRewriterTest::testCreateTableNotAsSelectReturnsSqlWhereFalsecallsPgSqlRewriterTest::testCreateTableReturnsDdlSimulatedcallsPgSqlRewriterTest::testCreateTableReturnsSelectOneWhereFalsecallsPgSqlRewriterTest::testCreateTableWithoutAsSelectReturnsSqlWhereFalsecallsPgSqlRewriterTest::testCteReferencesAreMatchedCaseInsensitivelyDuringSchemaValidationcallsPgSqlRewriterTest::testDefaultPartitionExcludesOnlySpecificSiblingsOfSameParentcallsPgSqlRewriterTest::testDeleteEnsuresDmlTargetInShadowStorecallsPgSqlRewriterTest::testDeleteEnsuresDmlTargetIsCalledForDeletecallsPgSqlRewriterTest::testDeleteEnsuresDmlTargetViaShadowStorecallsPgSqlRewriterTest::testDeleteMutationTableNamecallsPgSqlRewriterTest::testDeleteResolvesTargetAfterBlockCommentcallsPgSqlRewriterTest::testDeleteReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testDeleteSqlIsTransformedcallsPgSqlRewriterTest::testDoBlockPassesThroughWithoutInspectingBodyTablescallsPgSqlRewriterTest::testDropTableReturnsDdlSimulatedcallsPgSqlRewriterTest::testDropTableReturnsSelectOneWhereFalsecallsPgSqlRewriterTest::testDropTableThenCreateDoesNotThrowcallsPgSqlRewriterTest::testEmptyInputThrowsExceptioncallsPgSqlRewriterTest::testExplainPassesThroughUnchangedcallsPgSqlRewriterTest::testGeneratedExpressionIsPresentBeforeTheFirstShadowWritecallsPgSqlRewriterTest::testInsertDoesNotCallEnsureDmlTargetcallsPgSqlRewriterTest::testInsertMutationTableNamecallsPgSqlRewriterTest::testInsertResolvesTargetAfterBlockCommentcallsPgSqlRewriterTest::testInsertResultSelectContainsColumnNamescallsPgSqlRewriterTest::testInsertReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testInsertRewriteOutputContainsSelectcallsPgSqlRewriterTest::testInsertSqlIsTransformedcallsPgSqlRewriterTest::testLateralDerivedTableKeepsNestedPhysicalRelationInShadowScopecallsPgSqlRewriterTest::testMergeBuildsAtomicSynchronizationPlancallsPgSqlRewriterTest::testMultiStatementThrowsExceptioncallsPgSqlRewriterTest::testNestedPartitionInsertAllocatesIdentityFromRootRowscallsPgSqlRewriterTest::testReadPlanHasNoMutationcallsPgSqlRewriterTest::testRegisteredTableUpsertProjectsConflictExpressioncallsPgSqlRewriterTest::testRegisteredViewIsKnownAndMaterializedcallsPgSqlRewriterTest::testRewriteCreateTableAsSelectNonCreateStatementDoesNotEnterCtasBranchcallsPgSqlRewriterTest::testRewriteDeleteEnsuresShadowStoreEntrycallsPgSqlRewriterTest::testRewriteDeleteReturnsWriteSimulatedcallsPgSqlRewriterTest::testRewriteDropTableReturnsSelectWhereFalsecallsPgSqlRewriterTest::testRewriteInsertDoesNotCallEnsureDmlTargetcallsPgSqlRewriterTest::testRewriteInsertReturnsWriteSimulatedcallsPgSqlRewriterTest::testRewriteInsertUsesDefaultsFromRegistryWithoutShadowRowscallsPgSqlRewriterTest::testRewriteInsertUsesIdentityStrategyFromRegistryWithoutShadowRowscallsPgSqlRewriterTest::testRewriteIsDeterministiccallsPgSqlRewriterTest::testRewriteLeadingWhitespaceTrimsBeforeClassifycallsPgSqlRewriterTest::testRewriteOutputIsNonEmptycallsPgSqlRewriterTest::testRewriteUpdateEnsuresShadowStoreEntrycallsPgSqlRewriterTest::testRewriteUpdateReturnsWriteSimulatedcallsPgSqlRewriterTest::testRewriteWhitespaceOnlyThrowscallsPgSqlRewriterTest::testRewriteWithLeadingTrailingWhitespaceProducesValidSqlcallsPgSqlRewriterTest::testRewriteWithLeadingWhitespacecallsPgSqlRewriterTest::testRewriteWithLeadingWhitespaceTrimsFirstcallsPgSqlRewriterTest::testRewriteWithOnlyWhitespaceThrowsAfterTrimcallsPgSqlRewriterTest::testRollbackIsSkippedcallsPgSqlRewriterTest::testSchemaQualifiedSelectUsesShadowCtecallsPgSqlRewriterTest::testSelectIgnoresSqlKeywordsInsideLeadingLineCommentcallsPgSqlRewriterTest::testSelectReturnsReadKindcallsPgSqlRewriterTest::testSelectRewritesTableAfterBlockCommentcallsPgSqlRewriterTest::testSelectTableExistsInBothRegistryAndShadowcallsPgSqlRewriterTest::testSelectTableExistsInRegistryOnlycallsPgSqlRewriterTest::testSelectTableExistsInShadowStoreNotRegistrycallsPgSqlRewriterTest::testSelectTransformsCteWithShadowDatacallsPgSqlRewriterTest::testSelectUnknownTableWithSchemaContextThrowscallsPgSqlRewriterTest::testSelectUnknownTableWithShadowContextThrowscallsPgSqlRewriterTest::testSelectWithEmptyShadowGeneratesEmptyCtecallsPgSqlRewriterTest::testSelectWithMultiRowShadowUsesValuescallsPgSqlRewriterTest::testSelectWithNoSchemaContextPassesThroughcallsPgSqlRewriterTest::testSelectWithShadowOnlyDataDerivesColumnscallsPgSqlRewriterTest::testSelectWithShadowOnlyDataMergesColumnsAcrossRowscallsPgSqlRewriterTest::testSelectWithShadowOnlyHasSchemaContextcallsPgSqlRewriterTest::testShowPassesThroughUnchangedcallsPgSqlRewriterTest::testSkippedStatementPassesThroughcallsPgSqlRewriterTest::testStoredTableUpsertProjectsConflictExpressioncallsPgSqlRewriterTest::testTableFunctionDoesNotHideJoinedShadowRelationcallsPgSqlRewriterTest::testTruncateMutationTableNamecallsPgSqlRewriterTest::testTruncateReturnsSelectOneWhereFalsecallsPgSqlRewriterTest::testTruncateReturnsSelectWhereFalsecallsPgSqlRewriterTest::testTruncateReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testUnknownTableAfterDeclaredCteIsRejectedcallsPgSqlRewriterTest::testUnsupportedSqlThrowsExceptioncallsPgSqlRewriterTest::testUpdateDoesNotPromoteMaterializedUnknownTablecallsPgSqlRewriterTest::testUpdateEnsuresDmlTargetInShadowStorecallsPgSqlRewriterTest::testUpdateEnsuresDmlTargetIsCalledForUpdatecallsPgSqlRewriterTest::testUpdateEnsuresDmlTargetViaShadowStorecallsPgSqlRewriterTest::testUpdateMutationTableNamecallsPgSqlRewriterTest::testUpdatePreservesDollarQuotedStringBeforeWherecallsPgSqlRewriterTest::testUpdatePreservesDoubledQuoteStringBeforeWherecallsPgSqlRewriterTest::testUpdatePreservesEscapeStringBeforeWherecallsPgSqlRewriterTest::testUpdateResolvesTargetAfterBlockCommentcallsPgSqlRewriterTest::testUpdateReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testUpdateSqlIsTransformedcallsPgSqlRewriterTest::testWritePlanHasNonNullMutationcalls
Calls 6
- function-call
trimline 117 - new UnsupportedSqlException line 119
- method-call PgSqlRewriter::splitStatements() line 122
- function-call
countline 127 - method-call StatementRewriter::rewriteStatement() line 131
- new StatementRewriter line 131
public function rewriteMultiple(string $sql): MultiRewritePlanPublic API: explicitly declared with
@visibility public.{@inheritDoc}
Parameters
$sql | string |
Returns
Throws
UnsupportedSqlException When SQL is empty or unparseable.UnknownSchemaException When SQL references unknown tables/columns.$parser = new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser();
$store = new \ZtdQuery\Shadow\ShadowStore();
$registry = new \ZtdQuery\Schema\TableDefinitionRegistry();
$select = new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\SelectTransformer();
$transformer = new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\PgSqlTransformer($parser, $select, new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer($parser, $select), new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer($parser, $select), new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer($parser, $select));
$resolver = new \ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver($store, $registry, new \ZtdQuery\Platform\Postgres\Schema\PgSqlSchemaParser(), $parser);
$rewriter = new \ZtdQuery\Platform\Postgres\Rewrite\PgSqlRewriter(new \ZtdQuery\Platform\Postgres\Rewrite\PgSqlQueryGuard($parser), $store, $registry, $transformer, $resolver, $parser);
count($rewriter->rewriteMultiple('SELECT 1; SELECT 2')->plans()) // => 2Test cases 13
PgSqlRewriterTest::testRewriteEmptyInputForRewriteMultipleThrowscallsPgSqlRewriterTest::testRewriteMultiplecallsPgSqlRewriterTest::testRewriteMultipleAllReadStatementscallsPgSqlRewriterTest::testRewriteMultipleEmptycallsPgSqlRewriterTest::testRewriteMultipleEmptyStringThrowscallsPgSqlRewriterTest::testRewriteMultipleLeadingWhitespaceTrimsBeforeClassifycallsPgSqlRewriterTest::testRewriteMultipleMultiStatementcallsPgSqlRewriterTest::testRewriteMultipleSingleStatementcallsPgSqlRewriterTest::testRewriteMultipleWhitespaceOnlyThrowscallsPgSqlRewriterTest::testRewriteMultipleWithDdlcallsPgSqlRewriterTest::testRewriteMultipleWithLeadingTrailingWhitespaceProducesValidSqlcallsPgSqlRewriterTest::testRewriteMultipleWithLeadingWhitespacecallsPgSqlRewriterTest::testRewriteMultipleWithOnlyWhitespaceThrowsAfterTrimcalls
Calls 6
- function-call
trimline 152 - new UnsupportedSqlException line 154
- method-call PgSqlRewriter::splitStatements() line 157
- method-call StatementRewriter::rewriteStatement() line 164
- new StatementRewriter line 164
- new MultiRewritePlan line 167
public function splitStatements(string $sql): arrayPublic API: explicitly declared with
@visibility public.{@inheritDoc}
Parameters
$sql | string |
Returns
array$parser = new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser();
$store = new \ZtdQuery\Shadow\ShadowStore();
$registry = new \ZtdQuery\Schema\TableDefinitionRegistry();
$select = new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\SelectTransformer();
$transformer = new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\PgSqlTransformer($parser, $select, new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer($parser, $select), new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer($parser, $select), new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer($parser, $select));
$resolver = new \ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver($store, $registry, new \ZtdQuery\Platform\Postgres\Schema\PgSqlSchemaParser(), $parser);
$rewriter = new \ZtdQuery\Platform\Postgres\Rewrite\PgSqlRewriter(new \ZtdQuery\Platform\Postgres\Rewrite\PgSqlQueryGuard($parser), $store, $registry, $transformer, $resolver, $parser);
$rewriter->splitStatements("SELECT ';'; SELECT 2") // => ["SELECT ';'", 'SELECT 2']Test cases 1
Called from 2
Calls 1
- method-call PgSqlParser::splitStatements() line 185
public function commitRewriteState(): voidPublic API: explicitly declared with
@visibility public.Commits staged generated identity values after a successful rewrite.
$parser = new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser();
$store = new \ZtdQuery\Shadow\ShadowStore();
$registry = new \ZtdQuery\Schema\TableDefinitionRegistry();
$select = new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\SelectTransformer();
$transformer = new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\PgSqlTransformer($parser, $select, new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer($parser, $select), new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer($parser, $select), new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer($parser, $select));
$resolver = new \ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver($store, $registry, new \ZtdQuery\Platform\Postgres\Schema\PgSqlSchemaParser(), $parser);
$rewriter = new \ZtdQuery\Platform\Postgres\Rewrite\PgSqlRewriter(new \ZtdQuery\Platform\Postgres\Rewrite\PgSqlQueryGuard($parser), $store, $registry, $transformer, $resolver, $parser);
$rewriter->rewrite('SELECT 1');
$rewriter->commitRewriteState();
$rewriter->rewrite('SELECT 2')->sql() // => 'SELECT 2'Test cases 2
Calls 1
- method-call PgSqlTransformer::commitRewriteState() line 205
public function emptyResultSelect(): stringPublic API: explicitly declared with
@visibility public.Returns a PostgreSQL SELECT that produces no rows.
Returns
string$parser = new \ZtdQuery\Platform\Postgres\Sql\PgSqlParser();
$store = new \ZtdQuery\Shadow\ShadowStore();
$registry = new \ZtdQuery\Schema\TableDefinitionRegistry();
$select = new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\SelectTransformer();
$transformer = new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\PgSqlTransformer($parser, $select, new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer($parser, $select), new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer($parser, $select), new \ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer($parser, $select));
$resolver = new \ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver($store, $registry, new \ZtdQuery\Platform\Postgres\Schema\PgSqlSchemaParser(), $parser);
$rewriter = new \ZtdQuery\Platform\Postgres\Rewrite\PgSqlRewriter(new \ZtdQuery\Platform\Postgres\Rewrite\PgSqlQueryGuard($parser), $store, $registry, $transformer, $resolver, $parser);
$rewriter->emptyResultSelect() // => 'SELECT 1 WHERE FALSE'Test cases 1
Private surface 10§
Implementation details, listed for orientation only.
private PgSqlQueryGuard $guardprivate ShadowStore $shadowStoreprivate TableDefinitionRegistry $registryprivate PgSqlTransformer $transformerprivate PgSqlMutationResolver $mutationResolverprivate PgSqlParser $parserprivate PgSqlReturningProjectionParser $returningProjectionParserprivate PgSqlCteShadowComposer $cteComposerprivate PgSqlPartitionPredicateRenderer $partitionPredicateRendererprivate ViewDefinitionSet $viewsTest cases 144§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 124
PgSqlRewriterTest::testAlterTableThrowsUnsupportedcallsPgSqlRewriterTest::testBuildTableContextMergesRegistryAndShadowcallsPgSqlRewriterTest::testBuildTableContextRegistryAndShadowBothIncludedcallsPgSqlRewriterTest::testBuildTableContextRegistryOnlyNoShadowcallsPgSqlRewriterTest::testBuildTableContextShadowOnlyDerivesDifferentColumnsAcrossRowscallsPgSqlRewriterTest::testBuildTableContextShadowOnlyDifferentColumnKeyscallsPgSqlRewriterTest::testBuildTableContextShadowOnlyDifferentColumnKeysDetailedcallsPgSqlRewriterTest::testBuildTableContextShadowOnlyWithEmptyRowsNoCtecallsPgSqlRewriterTest::testBuildTableContextShadowOnlyWithRowsDeriveColumnscallsPgSqlRewriterTest::testChildPartitionSelectUsesFilteredParentShadowSourcecallsPgSqlRewriterTest::testChildPartitionWriteMutationTargetsRootParentcallsPgSqlRewriterTest::testCommitIsSkippedcallsPgSqlRewriterTest::testCommitRewriteStateRetainsAllocatedSequenceValuescallsPgSqlRewriterTest::testCreateTableAsSelectNoShadowReturnsSqlWhereFalsecallsPgSqlRewriterTest::testCreateTableAsSelectReturnsDdlWithTransformedSqlcallsPgSqlRewriterTest::testCreateTableAsSelectTransformsSelectPartcallsPgSqlRewriterTest::testCreateTableAsSelectWithRegisteredSourceTablecallsPgSqlRewriterTest::testCreateTableNotAsSelectReturnsSqlWhereFalsecallsPgSqlRewriterTest::testCreateTableReturnsDdlSimulatedcallsPgSqlRewriterTest::testCreateTableReturnsSelectOneWhereFalsecallsPgSqlRewriterTest::testCreateTableWithoutAsSelectReturnsSqlWhereFalsecallsPgSqlRewriterTest::testCteReferencesAreMatchedCaseInsensitivelyDuringSchemaValidationcallsPgSqlRewriterTest::testDefaultPartitionExcludesOnlySpecificSiblingsOfSameParentcallsPgSqlRewriterTest::testDeleteEnsuresDmlTargetInShadowStorecallsPgSqlRewriterTest::testDeleteEnsuresDmlTargetIsCalledForDeletecallsPgSqlRewriterTest::testDeleteEnsuresDmlTargetViaShadowStorecallsPgSqlRewriterTest::testDeleteMutationTableNamecallsPgSqlRewriterTest::testDeleteResolvesTargetAfterBlockCommentcallsPgSqlRewriterTest::testDeleteReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testDeleteSqlIsTransformedcallsPgSqlRewriterTest::testDoBlockPassesThroughWithoutInspectingBodyTablescallsPgSqlRewriterTest::testDropTableReturnsDdlSimulatedcallsPgSqlRewriterTest::testDropTableReturnsSelectOneWhereFalsecallsPgSqlRewriterTest::testDropTableThenCreateDoesNotThrowcallsPgSqlRewriterTest::testEmptyInputThrowsExceptioncallsPgSqlRewriterTest::testEmptyResultSelectProducesNoRowscallsPgSqlRewriterTest::testExplainPassesThroughUnchangedcallsPgSqlRewriterTest::testGeneratedExpressionIsPresentBeforeTheFirstShadowWritecallsPgSqlRewriterTest::testInsertDoesNotCallEnsureDmlTargetcallsPgSqlRewriterTest::testInsertMutationTableNamecallsPgSqlRewriterTest::testInsertResolvesTargetAfterBlockCommentcallsPgSqlRewriterTest::testInsertResultSelectContainsColumnNamescallsPgSqlRewriterTest::testInsertReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testInsertRewriteOutputContainsSelectcallsPgSqlRewriterTest::testInsertSqlIsTransformedcallsPgSqlRewriterTest::testLateralDerivedTableKeepsNestedPhysicalRelationInShadowScopecallsPgSqlRewriterTest::testMergeBuildsAtomicSynchronizationPlancallsPgSqlRewriterTest::testMultiStatementThrowsExceptioncallsPgSqlRewriterTest::testNestedPartitionInsertAllocatesIdentityFromRootRowscallsPgSqlRewriterTest::testReadPlanHasNoMutationcallsPgSqlRewriterTest::testRegisteredTableUpsertProjectsConflictExpressioncallsPgSqlRewriterTest::testRegisteredViewIsKnownAndMaterializedcallsPgSqlRewriterTest::testRewriteCreateTableAsSelectNonCreateStatementDoesNotEnterCtasBranchcallsPgSqlRewriterTest::testRewriteDeleteEnsuresShadowStoreEntrycallsPgSqlRewriterTest::testRewriteDeleteReturnsWriteSimulatedcallsPgSqlRewriterTest::testRewriteDropTableReturnsSelectWhereFalsecallsPgSqlRewriterTest::testRewriteEmptyInputForRewriteMultipleThrowscallsPgSqlRewriterTest::testRewriteInsertDoesNotCallEnsureDmlTargetcallsPgSqlRewriterTest::testRewriteInsertReturnsWriteSimulatedcallsPgSqlRewriterTest::testRewriteInsertUsesDefaultsFromRegistryWithoutShadowRowscallsPgSqlRewriterTest::testRewriteInsertUsesIdentityStrategyFromRegistryWithoutShadowRowscallsPgSqlRewriterTest::testRewriteIsDeterministiccallsPgSqlRewriterTest::testRewriteLeadingWhitespaceTrimsBeforeClassifycallsPgSqlRewriterTest::testRewriteMultiplecallsPgSqlRewriterTest::testRewriteMultipleAllReadStatementscallsPgSqlRewriterTest::testRewriteMultipleEmptycallsPgSqlRewriterTest::testRewriteMultipleEmptyStringThrowscallsPgSqlRewriterTest::testRewriteMultipleLeadingWhitespaceTrimsBeforeClassifycallsPgSqlRewriterTest::testRewriteMultipleMultiStatementcallsPgSqlRewriterTest::testRewriteMultipleSingleStatementcallsPgSqlRewriterTest::testRewriteMultipleWhitespaceOnlyThrowscallsPgSqlRewriterTest::testRewriteMultipleWithDdlcallsPgSqlRewriterTest::testRewriteMultipleWithLeadingTrailingWhitespaceProducesValidSqlcallsPgSqlRewriterTest::testRewriteMultipleWithLeadingWhitespacecallsPgSqlRewriterTest::testRewriteMultipleWithOnlyWhitespaceThrowsAfterTrimcallsPgSqlRewriterTest::testRewriteOutputIsNonEmptycallsPgSqlRewriterTest::testRewriteUpdateEnsuresShadowStoreEntrycallsPgSqlRewriterTest::testRewriteUpdateReturnsWriteSimulatedcallsPgSqlRewriterTest::testRewriteWhitespaceOnlyThrowscallsPgSqlRewriterTest::testRewriteWithLeadingTrailingWhitespaceProducesValidSqlcallsPgSqlRewriterTest::testRewriteWithLeadingWhitespacecallsPgSqlRewriterTest::testRewriteWithLeadingWhitespaceTrimsFirstcallsPgSqlRewriterTest::testRewriteWithOnlyWhitespaceThrowsAfterTrimcallsPgSqlRewriterTest::testRollbackIsSkippedcallsPgSqlRewriterTest::testSchemaQualifiedSelectUsesShadowCtecallsPgSqlRewriterTest::testSelectIgnoresSqlKeywordsInsideLeadingLineCommentcallsPgSqlRewriterTest::testSelectReturnsReadKindcallsPgSqlRewriterTest::testSelectRewritesTableAfterBlockCommentcallsPgSqlRewriterTest::testSelectTableExistsInBothRegistryAndShadowcallsPgSqlRewriterTest::testSelectTableExistsInRegistryOnlycallsPgSqlRewriterTest::testSelectTableExistsInShadowStoreNotRegistrycallsPgSqlRewriterTest::testSelectTransformsCteWithShadowDatacallsPgSqlRewriterTest::testSelectUnknownTableWithSchemaContextThrowscallsPgSqlRewriterTest::testSelectUnknownTableWithShadowContextThrowscallsPgSqlRewriterTest::testSelectWithEmptyShadowGeneratesEmptyCtecallsPgSqlRewriterTest::testSelectWithMultiRowShadowUsesValuescallsPgSqlRewriterTest::testSelectWithNoSchemaContextPassesThroughcallsPgSqlRewriterTest::testSelectWithShadowOnlyDataDerivesColumnscallsPgSqlRewriterTest::testSelectWithShadowOnlyDataMergesColumnsAcrossRowscallsPgSqlRewriterTest::testSelectWithShadowOnlyHasSchemaContextcallsPgSqlRewriterTest::testShowPassesThroughUnchangedcallsPgSqlRewriterTest::testSkippedStatementPassesThroughcallsPgSqlRewriterTest::testSplitStatementsPreservesQuotedSemicolonscallsPgSqlRewriterTest::testStoredTableUpsertProjectsConflictExpressioncallsPgSqlRewriterTest::testTableFunctionDoesNotHideJoinedShadowRelationcallsPgSqlRewriterTest::testTransactionStatementParsesShadowTransactionOperationscallsPgSqlRewriterTest::testTruncateMutationTableNamecallsPgSqlRewriterTest::testTruncateReturnsSelectOneWhereFalsecallsPgSqlRewriterTest::testTruncateReturnsSelectWhereFalsecallsPgSqlRewriterTest::testTruncateReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testUnknownTableAfterDeclaredCteIsRejectedcallsPgSqlRewriterTest::testUnsupportedSqlThrowsExceptioncallsPgSqlRewriterTest::testUpdateDoesNotPromoteMaterializedUnknownTablecallsPgSqlRewriterTest::testUpdateEnsuresDmlTargetInShadowStorecallsPgSqlRewriterTest::testUpdateEnsuresDmlTargetIsCalledForUpdatecallsPgSqlRewriterTest::testUpdateEnsuresDmlTargetViaShadowStorecallsPgSqlRewriterTest::testUpdateMutationTableNamecallsPgSqlRewriterTest::testUpdatePreservesDollarQuotedStringBeforeWherecallsPgSqlRewriterTest::testUpdatePreservesDoubledQuoteStringBeforeWherecallsPgSqlRewriterTest::testUpdatePreservesEscapeStringBeforeWherecallsPgSqlRewriterTest::testUpdateResolvesTargetAfterBlockCommentcallsPgSqlRewriterTest::testUpdateReturnsWriteSimulatedWithMutationcallsPgSqlRewriterTest::testUpdateSqlIsTransformedcallsPgSqlRewriterTest::testWritePlanHasNonNullMutationcalls
Other tests reaching this symbol 20
RewriterBench::benchRewriteInsertcallsRewriterBench::benchRewriteSelectcallsRewriterBench::setUpcallsFullPipelineFuzzTest::testCreateTableRewriteRegistersThenDmlSucceedscallsFullPipelineFuzzTest::testCreateTableThenDeleteDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenInsertDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenSelectDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenUpdateDoesNotCrashcallsFullPipelineFuzzTest::testShadowStoreIntegrityAfterMultipleOperationscallsRewriteCheck::verifycallsRewriteFuzzTest::setUpcallsRewriteFuzzTest::testClassifyRewriteAgreementcallsRewriteFuzzTest::testRewriteCreateTableReturnsDdlSimulatedKindcallsRewriteFuzzTest::testRewriteDeleteReturnsWriteSimulatedKindcallsRewriteFuzzTest::testRewriteDropTableReturnsDdlSimulatedKindcallsRewriteFuzzTest::testRewriteExceptionTypesAndPlanConsistencycallsRewriteFuzzTest::testRewriteInsertReturnsWriteSimulatedKindcallsRewriteFuzzTest::testRewriteSelectReturnsReadKindcallsRewriteFuzzTest::testRewriteUpdateReturnsWriteSimulatedKindcallsPgSqlSessionFactoryTestcalls