classSelectTransformer
final class SelectTransformer
implements SqlTransformer
Applies CTE shadowing to SELECT statements for PostgreSQL.
Key differences from MySQL SelectTransformer:
- Uses double-quote identifiers ("table") instead of backticks
- Uses AS MATERIALIZED for CTE definition (PG 12+ inline prevention)
- Uses VALUES clause for multi-row CTEs instead of UNION ALL chains
- Uses WHERE FALSE for empty CTEs instead of FROM DUAL WHERE 0
- Uses PostgreSQL CAST types (INTEGER, TEXT, BOOLEAN, etc.)
Methods§
public function __construct(
?CastRenderer $castRenderer = null,
?IdentifierQuoter $quoter = null,
?ValueRenderer $valueRenderer = null,
)Initializes the collaborators and state used by this select transformer.
Parameters
$castRenderer | ?CastRenderer | |
$quoter | ?IdentifierQuoter | |
$valueRenderer | ?ValueRenderer |
public function transform(string $sql, array $tables): string{@inheritDoc}
Parameters
$sql | string | |
$tables | array |
Returns
stringThrows
UnsupportedSqlException when a shadow relation uses an unsupported TABLESAMPLE method.Test cases 56
TransformerFuzzTest::testTransformDoesNotCrashOnRandomSelectWithEmptyTablescallsTransformerFuzzTest::testTransformWithEmptyRowsContainsWithClausecallsTransformerFuzzTest::testTransformWithShadowDataContainsWithClausecallsSelectTransformerTest::testCteContainsCastExpressionscallsSelectTransformerTest::testCteContainsSelectUnionStructurecallsSelectTransformerTest::testCteInjectedSqlStartsWithWithcallsSelectTransformerTest::testEmptyRowsWithColumnsReturnsWithClausecallsSelectTransformerTest::testEmptyTableContextReturnsOriginalSqlcallsSelectTransformerTest::testGeneratedColumnsAreRecomputedFromBaseRowcallsSelectTransformerTest::testTableNameUsedAsCtecallsSelectTransformerTest::testTableSampleReadsFromGeneratedShadowCtecallsSelectTransformerTest::testTransformAllNullRowcallsSelectTransformerTest::testTransformBooleanValuescallsSelectTransformerTest::testTransformBoolTrueAndFalseDistinctcallsSelectTransformerTest::testTransformContinueVsBreakMultipleTablescallsSelectTransformerTest::testTransformDoesNotShadowUnreferencedTablescallsSelectTransformerTest::testTransformEmptyColumnsAndEmptyRowsSkipsButContinuesToNextcallsSelectTransformerTest::testTransformEmptyColumnsAndEmptyRowsSkipsTablecallsSelectTransformerTest::testTransformEmptyColumnsDerivesColumnsNotIncludingDuplicatescallsSelectTransformerTest::testTransformEmptyColumnsMultiRowsDerivesColscallsSelectTransformerTest::testTransformEmptyColumnsWithMultipleRowsDifferentKeyscallsSelectTransformerTest::testTransformEmptyColumnsWithRowsDerivesColscallsSelectTransformerTest::testTransformEmptyStringDatacallsSelectTransformerTest::testTransformExactOutputEmptyRowscallsSelectTransformerTest::testTransformExactOutputMultiRowcallsSelectTransformerTest::testTransformExactOutputSingleRowcallsSelectTransformerTest::testTransformExactOutputWithExistingWithcallsSelectTransformerTest::testTransformIsDeterministiccallsSelectTransformerTest::testTransformMaterializesViewAfterItsShadowTablecallsSelectTransformerTest::testTransformNullValuescallsSelectTransformerTest::testTransformObjectWithToStringNoColumnTypecallsSelectTransformerTest::testTransformOutputIsNonEmptycallsSelectTransformerTest::testTransformPregReplaceCountOnlyOncecallsSelectTransformerTest::testTransformPreservesExistingWithClausecallsSelectTransformerTest::testTransformSerializesObjectWithColumnTypecallsSelectTransformerTest::testTransformSingleQuoteInDatacallsSelectTransformerTest::testTransformTableNotReferencedInSqlcallsSelectTransformerTest::testTransformUnsupportedValueTypeThrowscallsSelectTransformerTest::testTransformUsesDoubleQuoteIdentifierscallsSelectTransformerTest::testTransformUsesPostgresqlCastTypescallsSelectTransformerTest::testTransformWithBoolValueNoColumnTypecallsSelectTransformerTest::testTransformWithBoolValueWithColumnTypecallsSelectTransformerTest::testTransformWithCustomCastRendererAndQuotercallsSelectTransformerTest::testTransformWithEmptyShadowGeneratesEmptyCtecallsSelectTransformerTest::testTransformWithFloatValueNoColumnTypecallsSelectTransformerTest::testTransformWithFloatValueWithColumnTypecallsSelectTransformerTest::testTransformWithIntValueNoColumnTypecallsSelectTransformerTest::testTransformWithLeadingCommentAndWithcallsSelectTransformerTest::testTransformWithMultipleTablesOnlyReferencedAreIncludedcallsSelectTransformerTest::testTransformWithMultiRowUsesValuesClausecallsSelectTransformerTest::testTransformWithNoFromDualcallsSelectTransformerTest::testTransformWithNoTablesReturnsOriginalcallsSelectTransformerTest::testTransformWithSingleRowUsesSingleSelectcallsSelectTransformerTest::testTransformWithStringValueNoColumnTypecallsSelectTransformerTest::testTransformWithUnknownColumnTypeUsesTextFallbackcallsSelectTransformerTest::testUsesInjectedValueRenderercalls
Called from 6
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/DeleteTransformer.php:51
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/InsertTransformer.php:76
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/InsertTransformer.php:82
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\MergeTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/MergeTransformer.php:79
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\PgSqlTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/PgSqlTransformer.php:54
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/UpdateTransformer.php:56
Calls 7
- method-call PgSqlTableSampleRewriter::rewrite() line 59
- method-call IdentifierQuoter::quote() line 63
- function-call
array_keysline 80 - function-call
in_arrayline 83 - method-call RowSourceRenderer::generateCte() line 94
- new RowSourceRenderer line 94
- method-call PgSqlCteShadowComposer::compose() line 103
Private surface 6§
Implementation details, listed for orientation only.
private CastRenderer $castRendererprivate IdentifierQuoter $quoterprivate ValueRenderer $valueRendererprivate PgSqlCteShadowComposer $cteComposerprivate PgSqlGeneratedColumnProjector $generatedColumnProjectorprivate PgSqlTableSampleRewriter $tableSampleRewriterTest cases 278§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 53
SelectTransformerTest::testCteContainsCastExpressionscallsSelectTransformerTest::testCteContainsSelectUnionStructurecallsSelectTransformerTest::testCteInjectedSqlStartsWithWithcallsSelectTransformerTest::testEmptyRowsWithColumnsReturnsWithClausecallsSelectTransformerTest::testEmptyTableContextReturnsOriginalSqlcallsSelectTransformerTest::testGeneratedColumnsAreRecomputedFromBaseRowcallsSelectTransformerTest::testTableNameUsedAsCtecallsSelectTransformerTest::testTableSampleReadsFromGeneratedShadowCtecallsSelectTransformerTest::testTransformAllNullRowcallsSelectTransformerTest::testTransformBooleanValuescallsSelectTransformerTest::testTransformBoolTrueAndFalseDistinctcallsSelectTransformerTest::testTransformContinueVsBreakMultipleTablescallsSelectTransformerTest::testTransformDoesNotShadowUnreferencedTablescallsSelectTransformerTest::testTransformEmptyColumnsAndEmptyRowsSkipsButContinuesToNextcallsSelectTransformerTest::testTransformEmptyColumnsAndEmptyRowsSkipsTablecallsSelectTransformerTest::testTransformEmptyColumnsDerivesColumnsNotIncludingDuplicatescallsSelectTransformerTest::testTransformEmptyColumnsMultiRowsDerivesColscallsSelectTransformerTest::testTransformEmptyColumnsWithMultipleRowsDifferentKeyscallsSelectTransformerTest::testTransformEmptyColumnsWithRowsDerivesColscallsSelectTransformerTest::testTransformEmptyStringDatacallsSelectTransformerTest::testTransformExactOutputEmptyRowscallsSelectTransformerTest::testTransformExactOutputMultiRowcallsSelectTransformerTest::testTransformExactOutputSingleRowcallsSelectTransformerTest::testTransformExactOutputWithExistingWithcallsSelectTransformerTest::testTransformIsDeterministiccallsSelectTransformerTest::testTransformMaterializesViewAfterItsShadowTablecallsSelectTransformerTest::testTransformNullValuescallsSelectTransformerTest::testTransformObjectWithToStringNoColumnTypecallsSelectTransformerTest::testTransformOutputIsNonEmptycallsSelectTransformerTest::testTransformPregReplaceCountOnlyOncecallsSelectTransformerTest::testTransformPreservesExistingWithClausecallsSelectTransformerTest::testTransformSerializesObjectWithColumnTypecallsSelectTransformerTest::testTransformSingleQuoteInDatacallsSelectTransformerTest::testTransformTableNotReferencedInSqlcallsSelectTransformerTest::testTransformUnsupportedValueTypeThrowscallsSelectTransformerTest::testTransformUsesDoubleQuoteIdentifierscallsSelectTransformerTest::testTransformUsesPostgresqlCastTypescallsSelectTransformerTest::testTransformWithBoolValueNoColumnTypecallsSelectTransformerTest::testTransformWithBoolValueWithColumnTypecallsSelectTransformerTest::testTransformWithCustomCastRendererAndQuotercallsSelectTransformerTest::testTransformWithEmptyShadowGeneratesEmptyCtecallsSelectTransformerTest::testTransformWithFloatValueNoColumnTypecallsSelectTransformerTest::testTransformWithFloatValueWithColumnTypecallsSelectTransformerTest::testTransformWithIntValueNoColumnTypecallsSelectTransformerTest::testTransformWithLeadingCommentAndWithcallsSelectTransformerTest::testTransformWithMultipleTablesOnlyReferencedAreIncludedcallsSelectTransformerTest::testTransformWithMultiRowUsesValuesClausecallsSelectTransformerTest::testTransformWithNoFromDualcallsSelectTransformerTest::testTransformWithNoTablesReturnsOriginalcallsSelectTransformerTest::testTransformWithSingleRowUsesSingleSelectcallsSelectTransformerTest::testTransformWithStringValueNoColumnTypecallsSelectTransformerTest::testTransformWithUnknownColumnTypeUsesTextFallbackcallsSelectTransformerTest::testUsesInjectedValueRenderercalls
Other tests reaching this symbol 225
RewriterBench::setUpcallsFullPipelineFuzzTest::testCreateTableRewriteRegistersThenDmlSucceedscallsFullPipelineFuzzTest::testCreateTableThenDeleteDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenInsertDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenSelectDoesNotCrashcallsFullPipelineFuzzTest::testCreateTableThenUpdateDoesNotCrashcallsFullPipelineFuzzTest::testShadowStoreIntegrityAfterMultipleOperationscallsRewriteCheck::verifycallsRewriteFuzzTest::setUpcallsTransformerFuzzTest::setUpcallsTransformerFuzzTest::testTransformDoesNotCrashOnRandomSelectWithEmptyTablescallsTransformerFuzzTest::testTransformWithEmptyRowsContainsWithClausecallsTransformerFuzzTest::testTransformWithShadowDataContainsWithClausecallsClassAliasesTest::testFormerParameterTypeAcceptsTheNewTransformerBeforeTheFormerNameIsUsedcallsClassAliasesTest::testNewParameterTypeAcceptsTheFormerTransformerBeforeTheNewNameIsUsedcallsPgSqlSessionFactoryTestcallsPgSqlRewriterTest::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::testWritePlanHasNonNullMutationcallsStatementRewriterTest::testRewriteMutationStagesDdlUntilItIsAppliedcallsStatementRewriterTest::testRewriteStatementShadowsRegisteredTablescallsStatementRewriterTest::testValidateReadTablesRejectsUndeclaredRelationscallsDeleteTransformerTest::testBuildProjectionEmptyColumnsWildcardcallsDeleteTransformerTest::testBuildProjectionExactOutputSimplecallsDeleteTransformerTest::testBuildProjectionExactOutputWithAliascallsDeleteTransformerTest::testBuildProjectionExactOutputWithUsingcallsDeleteTransformerTest::testBuildProjectionNoWherecallsDeleteTransformerTest::testBuildProjectionReturnsTablesArraycallsDeleteTransformerTest::testBuildProjectionSimpleDeletecallsDeleteTransformerTest::testBuildProjectionUsesDoubleQuoteIdentifierscallsDeleteTransformerTest::testBuildProjectionWithAliascallsDeleteTransformerTest::testBuildProjectionWithAliasReturnsAliasInTablescallsDeleteTransformerTest::testBuildProjectionWithEmptyColumnsUsesWildcardcallsDeleteTransformerTest::testBuildProjectionWithNoWhereClausecallsDeleteTransformerTest::testBuildProjectionWithUsingClausecallsDeleteTransformerTest::testTransformAppliesCteShadowingcallsDeleteTransformerTest::testTransformCoalesceUsesTableContextColumnscallsDeleteTransformerTest::testTransformThrowsOnUnresolvableTargetcallsDeleteTransformerTest::testTransformWithEmptyTableContextcallsDeleteTransformerTest::testTransformWithoutColumnsInContextUsesWildcardcallsInsertTransformerTest::testBooleanPlaceholderUsesNullSafeCastOnlyForBooleanPlaceholdercallsInsertTransformerTest::testCommitRewriteStateInsertAllocatesSerialValuesWithoutPhysicalSequencecallsInsertTransformerTest::testExplicitIdentityDoesNotConsumeGeneratedIdentitycallsInsertTransformerTest::testInsertAllocatesSerialValueAfterExistingRowscallsInsertTransformerTest::testInsertAppliesCteShadowingcallsInsertTransformerTest::testInsertDefaultValuesProjectsCompleteRowcallsInsertTransformerTest::testInsertExactOutputFormatcallsInsertTransformerTest::testInsertMultipleRowscallsInsertTransformerTest::testInsertMultiRowExactFormatcallsInsertTransformerTest::testInsertNormalizesSparseTableColumnKeyscallsInsertTransformerTest::testInsertNoValuesThrowscallsInsertTransformerTest::testInsertProjectsOmittedAndExplicitDefaultscallsInsertTransformerTest::testInsertSelectcallsInsertTransformerTest::testInsertSelectUsesExplicitTargetColumnsForProjectionAndIdentitycallsInsertTransformerTest::testInsertValueCountMismatchThrowsExceptioncallsInsertTransformerTest::testInsertValuesColumnExprAppearsInOutputcallsInsertTransformerTest::testInsertValuesWithExplicitColumnscallsInsertTransformerTest::testInsertValuesWithoutColumnsUsesTableContextcallsInsertTransformerTest::testInsertValuesWithWhitespaceAroundValuescallsInsertTransformerTest::testInsertWithoutColumnsAndNoTableContextThrowsExceptioncallsInsertTransformerTest::testInsertWithoutTableThrowsExceptioncallsInsertTransformerTest::testInsertWithSchemaQualifiedTablecallsInsertTransformerTest::testParentAndPartitionShareSerialAllocationNamespacecallsInsertTransformerTest::testProjectsPartialIndexPredicateForBothCandidateRowscallsInsertTransformerTest::testTransformProjectsConflictExpressionUsingCandidateKeyscallsInsertTransformerTest::testUncommittedTransformDoesNotConsumeSerialValuecallsInsertTransformerTest::testUsesInjectedCastRendererForTypedValuecallsMergeTransformerTest::testDefaultIdentityValueIsGeneratedcallsMergeTransformerTest::testExplicitIdentityValueIsNotGeneratedcallsMergeTransformerTest::testPreservesFirstEligibleClauseOrderingAndCtePrefixcallsMergeTransformerTest::testProjectsDefaultsAndGeneratedColumnscallsMergeTransformerTest::testProjectsDefaultValuesAndIdentitycallsMergeTransformerTest::testRejectsChildPartitionTargetBeforeStateCanBeTruncatedcallsMergeTransformerTest::testRejectsNonListColumnMetadatacallsMergeTransformerTest::testRejectsUnknownInsertColumncallsMergeTransformerTest::testRejectsUnknownTargetAndViewTargetcallsMergeTransformerTest::testRejectsUnknownUpdateColumncallsMergeTransformerTest::testTransformsMixedUpdateAndInsertIntoCompleteTargetStatecallsPgSqlTransformerTest::testCommitRewriteStateCommitsGeneratedIdentityValuescallsPgSqlTransformerTest::testTransformDeleteDelegatesToDeleteTransformercallsPgSqlTransformerTest::testTransformInsertDelegatesToInsertTransformercallsPgSqlTransformerTest::testTransformMergeDelegatesToMergeTransformercallsPgSqlTransformerTest::testTransformSelectDelegatesToSelectTransformercallsPgSqlTransformerTest::testTransformUnsupportedStatementThrowscallsPgSqlTransformerTest::testTransformUpdateDelegatesToUpdateTransformercallsUpdateTransformerTest::testBuildProjectionCoalesceColumnsFromTableContextcallsUpdateTransformerTest::testBuildProjectionExactOutputSimplecallsUpdateTransformerTest::testBuildProjectionExactOutputWithAliascallsUpdateTransformerTest::testBuildProjectionOnlySetColumnsWhenNoTableColumnscallsUpdateTransformerTest::testBuildProjectionReturnsTablesArraycallsUpdateTransformerTest::testBuildProjectionSetColumnExcludesFromRemainingColumnscallsUpdateTransformerTest::testBuildProjectionSetColumnIsCoveredNotDuplicatedcallsUpdateTransformerTest::testBuildProjectionSimpleUpdatecallsUpdateTransformerTest::testBuildProjectionUsesDoubleQuoteIdentifierscallsUpdateTransformerTest::testBuildProjectionWildcardFallbackcallsUpdateTransformerTest::testBuildProjectionWithAliascallsUpdateTransformerTest::testBuildProjectionWithEmptyColumnsUsesWildcardcallsUpdateTransformerTest::testBuildProjectionWithFromClausecallsUpdateTransformerTest::testBuildProjectionWithFromClauseExactcallsUpdateTransformerTest::testBuildProjectionWithMultipleSetColumnscallsUpdateTransformerTest::testBuildProjectionWithNoWhereClausecallsUpdateTransformerTest::testTransformAppliesCteShadowingcallsUpdateTransformerTest::testTransformThrowsOnUnresolvableTargetcallsUpdateTransformerTest::testTransformWithEmptyTableContextcalls
Relations§
Instantiated in 1
Method calls 6
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/DeleteTransformer.php:51
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/InsertTransformer.php:76
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/InsertTransformer.php:82
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\MergeTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/MergeTransformer.php:79
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\PgSqlTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/PgSqlTransformer.php:54
- method-call ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer::transform() packages/ztd-query-postgres/src/Rewrite/Transformer/UpdateTransformer.php:56
Type declarations 9
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/DeleteTransformer.php:22
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\DeleteTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/DeleteTransformer.php:30
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/InsertTransformer.php:23
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\InsertTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/InsertTransformer.php:36
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\MergeTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/MergeTransformer.php:30
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\PgSqlTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/PgSqlTransformer.php:21
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\PgSqlTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/PgSqlTransformer.php:32
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/UpdateTransformer.php:22
- type ZtdQuery\Platform\Postgres\Rewrite\Transformer\UpdateTransformer packages/ztd-query-postgres/src/Rewrite/Transformer/UpdateTransformer.php:30