final class InsertTransformer
    implements SqlTransformer

Transforms INSERT/REPLACE statements into SELECT queries that return the inserted rows. Applies CTE shadowing via the SelectTransformer delegate.

Handles:

  • INSERT INTO ... VALUES (...)
  • INSERT OR REPLACE INTO ... VALUES (...)
  • REPLACE INTO ... VALUES (...)
  • INSERT INTO ... SELECT ...
  • INSERT INTO ... ON CONFLICT ... DO UPDATE SET ...

Methods§

public function __construct(
    SqliteParser $parser,
    SelectTransformer $selectTransformer,
    ?CastRenderer $castRenderer = null,
)
public function transform(string $sql, array $tables): string

{@inheritDoc}

Parameters

$sqlstring
$tablesarray

Returns

string
Test cases 32
Called from 1
Calls 13

Private surface 8§

Implementation details, listed for orientation only.

private SqliteParser $parser
private SelectTransformer $selectTransformer
private CastRenderer $castRenderer
private InsertRowRenderer $rowRenderer
private ShadowIdentityAllocator $identityAllocator
private InsertSelectRenderer $insertSelectRenderer
private SqliteCteShadowComposer $cteComposer
private SqliteNativeUpsertProjector $upsertProjector

Test cases 127§

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

Dedicated tests 32
Other tests reaching this symbol 95

Relations§

Instantiated in 1
Method calls 2
Type declarations 2