interface Platform
Public API: explicitly declared with @visibility public.

Database semantics used by the core executor and driver adapters.

Implementations provide dialect services, never sessions or execution policy. Reusing a platform must not share virtual rows, schema, or rewrite state: each createRewriter() call binds a new pipeline to the supplied state.

Accept database semantics through dependency injectiondoctest
$connect = static fn (\ZtdQuery\Connection\ConnectionInterface $connection, \ZtdQuery\Platform $platform): \ZtdQuery\QueryExecutor => new \ZtdQuery\QueryExecutor($connection, $platform);
    $connect instanceof \Closure // => true

Methods§

public function reflectSchema(ConnectionInterface $connection): TableDefinitionRegistry

Reflect the table catalog; propagate database failures to the caller.

Parameters

Called from 1
public function reflectViews(ConnectionInterface $connection): ViewDefinitionSet

Reflect view definitions independently of virtual session state.

Parameters

Called from 1
public function createRewriter(
    ShadowStore $store,
    TableDefinitionRegistry $registry,
    ViewDefinitionSet $views,
): SqlRewriter

Bind a fresh dialect rewrite pipeline to the supplied virtual state.

Called from 1
public function copySupport(): ?CopySupport

Return COPY support, or null when the dialect does not support COPY.

Returns

Called from 1
public function parameterBindingCompiler(): ?ParameterBindingCompiler

Return parameter compilation when the dialect requires it.

Test cases 5§

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

Other tests reaching this symbol 5

Relations§

Implemented by 5
Method calls 7
Type declarations 10