<?php declare(strict_types=1); namespace Doctrine\DBAL\Portability; use Doctrine\DBAL\Driver\Result as ResultInterface; final class Result implements ResultInterface { /** @var ResultInterface */ private $result; /** @var Converter */ private $converter; /** * @internal The result can be only instantiated by the portability connection or statement. */ public function __construct(ResultInterface $result, Converter $converter) { $this->result = $result; $this->converter = $converter; } /** * {@inheritDoc} */ public function fetchNumeric() { return $this->converter->convertNumeric( $this->result->fetchNumeric() ); } /** * {@inheritDoc} */ public function fetchAssociative() { return $this->converter->convertAssociative( $this->result->fetchAssociative() ); } /** * {@inheritDoc} */ public function fetchOne() { return $this->converter->convertOne( $this->result->fetchOne() ); } /** * {@inheritDoc} */ public function fetchAllNumeric(): array { return $this->converter->convertAllNumeric( $this->result->fetchAllNumeric() ); } /** * {@inheritDoc} */ public function fetchAllAssociative(): array { return $this->converter->convertAllAssociative( $this->result->fetchAllAssociative() ); } /** * {@inheritDoc} */ public function fetchFirstColumn(): array { return $this->converter->convertFirstColumn( $this->result->fetchFirstColumn() ); } public function rowCount(): int { return $this->result->rowCount(); } public function columnCount(): int { return $this->result->columnCount(); } public function free(): void { $this->result->free(); } }