inner->free(); return true; } #[Override] public function fetch(int $fetchMode = PDO::FETCH_ASSOC) { return match ($fetchMode) { PDO::FETCH_ASSOC => $this->inner->fetchAssociative(), PDO::FETCH_NUM => $this->inner->fetchNumeric(), PDO::FETCH_COLUMN => $this->inner->fetchOne(), default => throw new \Exception('Fetch mode needs to be assoc, num or column.'), }; } #[Override] public function fetchAssociative(): array|false { return $this->inner->fetchAssociative(); } #[Override] public function fetchNumeric(): array|false { return $this->inner->fetchNumeric(); } #[Override] public function fetchOne(): mixed { return $this->inner->fetchOne(); } #[Override] public function fetchAll(int $fetchMode = PDO::FETCH_ASSOC): array { return match ($fetchMode) { PDO::FETCH_ASSOC => $this->inner->fetchAllAssociative(), PDO::FETCH_NUM => $this->inner->fetchAllNumeric(), PDO::FETCH_COLUMN => $this->inner->fetchFirstColumn(), default => throw new \Exception('Fetch mode needs to be assoc, num or column.'), }; } #[Override] public function fetchColumn($columnIndex = 0) { return $this->inner->fetchOne(); } #[Override] public function rowCount(): int { return $this->inner->rowCount(); } #[Override] public function fetchAllAssociative(): array { return $this->inner->fetchAllAssociative(); } #[Override] public function fetchAllNumeric(): array { return $this->inner->fetchAllNumeric(); } #[Override] public function fetchFirstColumn(): array { return $this->inner->fetchFirstColumn(); } #[Override] public function iterateNumeric(): \Traversable { yield from $this->inner->iterateNumeric(); } #[Override] public function iterateAssociative(): \Traversable { yield from $this->inner->iterateAssociative(); } }