classSqliteTransformer
final class SqliteTransformer
implements SqlTransformer
Composite SQL transformer for SQLite.
Parses the SQL, determines its type, and delegates to the appropriate sub-transformer.
Methods§
public function __construct(
SqliteParser $parser,
SelectTransformer $selectTransformer,
InsertTransformer $insertTransformer,
UpdateTransformer $updateTransformer,
DeleteTransformer $deleteTransformer,
)Binds the dependencies used by this operation.
Parameters
$parser | SqliteParser | |
$selectTransformer | SelectTransformer | |
$insertTransformer | InsertTransformer | |
$updateTransformer | UpdateTransformer | |
$deleteTransformer | DeleteTransformer |
public function transform(string $sql, array $tables): string{@inheritDoc}
Parameters
$sql | string | |
$tables | array |
Returns
stringThrows
Test cases 8
SqliteTransformerTest::testCommitRewriteStateKeepsAllocatedIdentitiesAcrossProjectionscallsSqliteTransformerTest::testTransformDeletecallsSqliteTransformerTest::testTransformEmptyThrowscallsSqliteTransformerTest::testTransformInsertcallsSqliteTransformerTest::testTransformSelectcallsSqliteTransformerTest::testTransformUnsupportedThrowscallsSqliteTransformerTest::testTransformUpdatecallsSqliteTransformerTest::testTransformWithEmptyTablesReturnsOriginalcalls
Called from 3
- method-call ZtdQuery\Platform\Sqlite\Rewrite\StatementRewriter::rewriteStatement() packages/ztd-query-sqlite/src/Rewrite/StatementRewriter.php:71
- method-call ZtdQuery\Platform\Sqlite\Rewrite\StatementRewriter::rewriteStatement() packages/ztd-query-sqlite/src/Rewrite/StatementRewriter.php:80
- method-call ZtdQuery\Platform\Sqlite\Rewrite\StatementRewriter::rewriteStatement() packages/ztd-query-sqlite/src/Rewrite/StatementRewriter.php:92
Calls 6
- method-call SqliteParser::classifyStatement() line 48
- new UnsupportedSqlException line 50
- method-call SelectTransformer::transform() line 54
- method-call InsertTransformer::transform() line 55
- method-call UpdateTransformer::transform() line 56
- method-call DeleteTransformer::transform() line 57
public function commitRewriteState(): voidCommits the transformer state after a rewrite completes.
Test cases 1
Called from 1
Calls 1
- method-call InsertTransformer::commitRewriteState() line 67
Private surface 5§
Implementation details, listed for orientation only.
private SqliteParser $parserprivate SelectTransformer $selectTransformerprivate InsertTransformer $insertTransformerprivate UpdateTransformer $updateTransformerprivate DeleteTransformer $deleteTransformerTest cases 95§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 8
SqliteTransformerTest::testCommitRewriteStateKeepsAllocatedIdentitiesAcrossProjectionscallsSqliteTransformerTest::testTransformDeletecallsSqliteTransformerTest::testTransformEmptyThrowscallsSqliteTransformerTest::testTransformInsertcallsSqliteTransformerTest::testTransformSelectcallsSqliteTransformerTest::testTransformUnsupportedThrowscallsSqliteTransformerTest::testTransformUpdatecallsSqliteTransformerTest::testTransformWithEmptyTablesReturnsOriginalcalls
Other tests reaching this symbol 87
RewriterBench::setUpcallsRewriteTarget::__invokecallsSemanticsTarget::__invokecallsSqliteRewriterTest::testAlterTableUsesShadowedMigrationSelectcallsSqliteRewriterTest::testBuildTableContextIncludesMultipleTablesFromRegistrycallsSqliteRewriterTest::testBuildTableContextMergesColumnsFromMultipleRowscallsSqliteRewriterTest::testBuildTableContextRegistryOnlyTableIncludedcallsSqliteRewriterTest::testBuildTableContextShadowStoreEmptyRowsNoDefinitionPassesThroughcallsSqliteRewriterTest::testBuildTableContextSkipsAlreadyAddedFromShadowStorecallsSqliteRewriterTest::testBuildTableContextUsesDefinitionColumnscallsSqliteRewriterTest::testBuildTableContextWithShadowStoreColumnsInferredcallsSqliteRewriterTest::testCommitRewriteStateKeepsGeneratedIdentitiesAcrossRewritescallsSqliteRewriterTest::testCreateTableReturnsDdlSimulatedcallsSqliteRewriterTest::testCteReferencesAreMatchedCaseInsensitivelyDuringSchemaValidationcallsSqliteRewriterTest::testDdlSimulatedReturnsSqlSelectWhere0callsSqliteRewriterTest::testDeleteEnsuresShadowStorecallsSqliteRewriterTest::testDeleteEnsuresShadowStoreCalledOnTargetcallsSqliteRewriterTest::testDeleteEnsuresShadowStoreEntrycallsSqliteRewriterTest::testDeleteEnsuresShadowStoreForTargetTablecallsSqliteRewriterTest::testDeleteFromBacktickQuotedTableReturnsSqlWhere0callsSqliteRewriterTest::testDeleteFromBracketQuotedTableReturnsSqlWhere0callsSqliteRewriterTest::testDeleteFromLowercaseReturnsSqlWhere0callsSqliteRewriterTest::testDeleteFromQuotedTableWithoutWhereReturnsSqlWhere0callsSqliteRewriterTest::testDeleteFromWithCommentsReturnsSqlWhere0callsSqliteRewriterTest::testDeleteFromWithoutWhereReturnsSqlWithSelectWhere0callsSqliteRewriterTest::testDeleteFromWithoutWhereReturnsWriteSimulatedcallsSqliteRewriterTest::testDeleteFromWithSemicolonAndWhitespacecallsSqliteRewriterTest::testDeleteResolvesTargetAfterBlockCommentcallsSqliteRewriterTest::testDeleteReturnsWriteSimulatedWithMutationcallsSqliteRewriterTest::testDeleteWithWhereProducesTransformedSqlcallsSqliteRewriterTest::testDropTableReturnsDdlSimulatedcallsSqliteRewriterTest::testEmptyInputThrowsExceptioncallsSqliteRewriterTest::testEmptyResultSelectProducesNoRowscallsSqliteRewriterTest::testGeneratedExpressionIsPresentBeforeTheFirstShadowWritecallsSqliteRewriterTest::testHasSchemaContextWithRegistryOnlycallsSqliteRewriterTest::testHasSchemaContextWithShadowStoreOnlycallsSqliteRewriterTest::testInMemoryAttachPassesThroughUnchangedcallsSqliteRewriterTest::testInsertDoesNotEnsureShadowStoreForTargetTablecallsSqliteRewriterTest::testInsertOnConflictReturnsUpsertMutationcallsSqliteRewriterTest::testInsertOrReplaceReturnsWriteSimulatedWithReplaceMutationcallsSqliteRewriterTest::testInsertResolvesTargetAfterBlockCommentcallsSqliteRewriterTest::testInsertReturnsWriteSimulatedWithMutationcallsSqliteRewriterTest::testInsertRewriteOutputContainsSelectcallsSqliteRewriterTest::testInsertUsesDefaultsFromRegistryWithoutShadowRowscallsSqliteRewriterTest::testInsertUsesIdentityStrategyFromRegistryWithoutShadowRowscallsSqliteRewriterTest::testInsertWithShadowDataProducesTransformedSqlcallsSqliteRewriterTest::testMultiStatementThrowsExceptioncallsSqliteRewriterTest::testPersistentAttachRemainsUnsupportedcallsSqliteRewriterTest::testReadOnlyDiagnosticsPassThroughUnchangedcallsSqliteRewriterTest::testReadPlanHasNoMutationcallsSqliteRewriterTest::testRegisteredViewIsKnownAndMaterializedcallsSqliteRewriterTest::testRemovedTableIsShadowedInsteadOfFallingThroughcallsSqliteRewriterTest::testReplaceReturnsWriteSimulatedWithMutationcallsSqliteRewriterTest::testRewriteIsDeterministiccallsSqliteRewriterTest::testRewriteMultiplecallsSqliteRewriterTest::testRewriteMultipleEmptyThrowscallsSqliteRewriterTest::testRewriteOutputIsNonEmptycallsSqliteRewriterTest::testSchemaQualifiedSelectUsesShadowCtecallsSqliteRewriterTest::testSelectExistingInShadowStoreIsNotUnknowncallsSqliteRewriterTest::testSelectIgnoresSqlKeywordsInsideLeadingLineCommentcallsSqliteRewriterTest::testSelectKnownTableNoSchemaContextDoesNotThrowcallsSqliteRewriterTest::testSelectReturnsReadKindcallsSqliteRewriterTest::testSelectRewritesTableAfterBlockCommentcallsSqliteRewriterTest::testSelectTableInShadowStoreNotUnknowncallsSqliteRewriterTest::testSelectUnknownTableWithSchemaContextThrowscallsSqliteRewriterTest::testSelectWithMultipleRegisteredTablesIncludesAllcallsSqliteRewriterTest::testSelectWithRegistryOnlyBuildTableContextcallsSqliteRewriterTest::testSelectWithShadowDataColumnsInferredcallsSqliteRewriterTest::testSelectWithShadowDataIncludesCtecallsSqliteRewriterTest::testSelectWithShadowStoreAndRegistryTablesMergedcallsSqliteRewriterTest::testSelectWithShadowStoreOnlyHasSchemaContextcallsSqliteRewriterTest::testSplitStatementsPreservesQuotedSemicolonscallsSqliteRewriterTest::testTransactionStatementRestoresSnapshotOnRollbackcallsSqliteRewriterTest::testUnknownTableAfterDeclaredCteIsRejectedcallsSqliteRewriterTest::testUnsupportedSqlThrowsExceptioncallsSqliteRewriterTest::testUpdateDoesNotPromoteMaterializedUnknownTablecallsSqliteRewriterTest::testUpdateEnsuresShadowStorecallsSqliteRewriterTest::testUpdateEnsuresShadowStoreCalledOnTargetcallsSqliteRewriterTest::testUpdateEnsuresShadowStoreEntrycallsSqliteRewriterTest::testUpdateEnsuresShadowStoreForTargetTablecallsSqliteRewriterTest::testUpdateResolvesTargetAfterBlockCommentcallsSqliteRewriterTest::testUpdateReturnsWriteSimulatedWithMutationcallsSqliteRewriterTest::testWritePlanHasNonNullMutationcallsStatementRewriterTest::testRewriteStatementRejectsUnknownReadSourcescallsStatementRewriterTest::testRewriteStatementSimulatesWritesWithoutApplyingThemcallsStatementRewriterTest::testRewriteStatementUsesShadowRowsForReadscallsSqliteSessionFactoryTestcalls
Relations§
Instantiated in 1
Method calls 4
- method-call ZtdQuery\Platform\Sqlite\Rewrite\SqliteRewriter::commitRewriteState() packages/ztd-query-sqlite/src/Rewrite/SqliteRewriter.php:198
- method-call ZtdQuery\Platform\Sqlite\Rewrite\StatementRewriter::rewriteStatement() packages/ztd-query-sqlite/src/Rewrite/StatementRewriter.php:71
- method-call ZtdQuery\Platform\Sqlite\Rewrite\StatementRewriter::rewriteStatement() packages/ztd-query-sqlite/src/Rewrite/StatementRewriter.php:80
- method-call ZtdQuery\Platform\Sqlite\Rewrite\StatementRewriter::rewriteStatement() packages/ztd-query-sqlite/src/Rewrite/StatementRewriter.php:92
Type declarations 3
- type ZtdQuery\Platform\Sqlite\Rewrite\SqliteRewriter packages/ztd-query-sqlite/src/Rewrite/SqliteRewriter.php:59
- type ZtdQuery\Platform\Sqlite\Rewrite\SqliteRewriter packages/ztd-query-sqlite/src/Rewrite/SqliteRewriter.php:83
- type ZtdQuery\Platform\Sqlite\Rewrite\StatementRewriter packages/ztd-query-sqlite/src/Rewrite/StatementRewriter.php:45