interfacePlatform
interface Platform
@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.
$connect = static fn (\ZtdQuery\Connection\ConnectionInterface $connection, \ZtdQuery\Platform $platform): \ZtdQuery\QueryExecutor => new \ZtdQuery\QueryExecutor($connection, $platform);
$connect instanceof \Closure // => trueMethods§
public function reflectSchema(ConnectionInterface $connection): TableDefinitionRegistryReflect the table catalog; propagate database failures to the caller.
Parameters
$connection | ConnectionInterface |
Returns
Called from 1
public function reflectViews(ConnectionInterface $connection): ViewDefinitionSetReflect view definitions independently of virtual session state.
Parameters
$connection | ConnectionInterface |
Returns
Called from 1
public function createRewriter(
ShadowStore $store,
TableDefinitionRegistry $registry,
ViewDefinitionSet $views,
): SqlRewriterBind a fresh dialect rewrite pipeline to the supplied virtual state.
Parameters
$store | ShadowStore | |
$registry | TableDefinitionRegistry | |
$views | ViewDefinitionSet |
Returns
Called from 1
public function copySupport(): ?CopySupportReturn COPY support, or null when the dialect does not support COPY.
Returns
Called from 1
public function parameterBindingCompiler(): ?ParameterBindingCompilerReturn parameter compilation when the dialect requires it.
Returns
public function resultColumnTypeResolver(): ResultColumnTypeResolverResolve column metadata reported by the connection driver.
Returns
Called from 3
- method-call ZtdQuery\QueryExecutor::processExecutedStatement() packages/ztd-query-core/src/QueryExecutor.php:206
- method-call ZtdQuery\QueryExecutor::runResultSelectAndApplyShadow() packages/ztd-query-core/src/QueryExecutor.php:244
- method-call ZtdQuery\QueryExecutor::execStatement() packages/ztd-query-core/src/QueryExecutor.php:279
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
- FakePlatform packages/ztd-query-core/tests/Fake/FakePlatform.php:21
- StubPlatform packages/ztd-query-core/tests/Fake/StubPlatform.php:21
- MySqlPlatform packages/ztd-query-mysql/src/MySqlPlatform.php:42
- PgSqlPlatform packages/ztd-query-postgres/src/PgSqlPlatform.php:41
- SqlitePlatform packages/ztd-query-sqlite/src/SqlitePlatform.php:32
Method calls 7
- method-call ZtdQuery\QueryExecutor::__construct() packages/ztd-query-core/src/QueryExecutor.php:55
- method-call ZtdQuery\QueryExecutor::__construct() packages/ztd-query-core/src/QueryExecutor.php:56
- method-call ZtdQuery\QueryExecutor::__construct() packages/ztd-query-core/src/QueryExecutor.php:58
- method-call ZtdQuery\QueryExecutor::copyTarget() packages/ztd-query-core/src/QueryExecutor.php:150
- method-call ZtdQuery\QueryExecutor::processExecutedStatement() packages/ztd-query-core/src/QueryExecutor.php:206
- method-call ZtdQuery\QueryExecutor::runResultSelectAndApplyShadow() packages/ztd-query-core/src/QueryExecutor.php:244
- method-call ZtdQuery\QueryExecutor::execStatement() packages/ztd-query-core/src/QueryExecutor.php:279
Type declarations 10
- type ZtdQuery\QueryExecutor packages/ztd-query-core/src/QueryExecutor.php:49
- type ZtdQuery\QueryExecutor packages/ztd-query-core/src/QueryExecutor.php:79
- type ZtdQuery\Adapter\Mysqli\Session\ConnectionExecution packages/ztd-query-mysqli-adapter/src/Session/ConnectionExecution.php:35
- type ZtdQuery\Adapter\Mysqli\ZtdMysqli packages/ztd-query-mysqli-adapter/src/ZtdMysqli.php:70
- type ZtdQuery\Adapter\Mysqli\ZtdMysqli packages/ztd-query-mysqli-adapter/src/ZtdMysqli.php:88
- type ZtdQuery\Adapter\Pdo\Session\ConnectionExecution packages/ztd-query-pdo-adapter/src/Session/ConnectionExecution.php:30
- type ZtdQuery\Adapter\Pdo\Session\DriverPlatform packages/ztd-query-pdo-adapter/src/Session/DriverPlatform.php:65
- type ZtdQuery\Adapter\Pdo\Session\DriverPlatform packages/ztd-query-pdo-adapter/src/Session/DriverPlatform.php:81
- type ZtdQuery\Adapter\Pdo\ZtdPdo packages/ztd-query-pdo-adapter/src/ZtdPdo.php:60
- type ZtdQuery\Adapter\Pdo\ZtdPdo packages/ztd-query-pdo-adapter/src/ZtdPdo.php:89